Visualization of values of a physical property detected in an organism over time

ABSTRACT

A system for visually indicating, in real time or post hoc, values of a physical property detected over a period of time along a dimension of an organism to a user on a temporal plot and a profile plot, either individually or concurrently. The detected values may be visually indicated on the temporal plot using any of a variety of techniques, including, but not limited to, a contour technique, a line trace technique or a mesh plot technique. Further, the detected values may be visually indicated on the profile plot using any of a variety of techniques, including, but not limited to a contour technique, a line trace technique or a histogram technique. To provide a finer spatial resolution, values may be interpolated for locations between the locations at which values were detected, and these values may be displayed on the temporal plot and the profile plot.

RELATED APPLICATIONS

This application is a divisional application of U.S. patent applicationSer. No. 10/281,068 entitled VISUALIZATION OF VALUES OF A PHYSICALPROPERTY DETECTED IN AN ORGANISM OVER TIME, filed Oct. 24, 2002, nowU.S. Pat. No. 7,476,204 issued Jan. 13, 2009 which claims benefit under35 U.S.C. 119(e) to commonly-owned U.S. provisional patent applicationSer. No. 60/343,714, entitled TIME SPATIAL VISUALIZATION OF LINEAR ARRAYDATA, filed on Oct. 24, 2001 and commonly-owned U.S. provisional patentapplication Ser. No. 60/347,599, entitled CAPACITIVE ARRAY SENSORELECTRONICS, filed on Oct. 24, 2001 all of which we hereby incorporatedby reference.

GOVERNMENT RIGHTS

The U.S. Government has a paid-up license in this invention and theright in limited circumstances to require the patent owner to licenseothers on reasonable terms as provided for by the terms ofContract/Grant No. 1 R43 DK5639-01 awarded by National Institutes ofHealth.

BACKGROUND

The esophagus is a tubular organ that carries food and liquid from thethroat to the stomach. The interior surface of the esophagus containsmuscles that rhythmatically contract whenever a person swallows. Thiscontraction generally occurs as a sweeping wave carrying food down theesophagus to the stomach. This sweeping wave of contraction is typicallyreferred to as peristalsis. An upper esophageal sphincter (UES) islocated at an upper end of the esophagus. The UES is a muscle thatserves as a valve between the esophagus and the pharynx from which theesophagus receives food and liquid when swallowing.

The lower esophageal sphincter (LES) is located at a lower end of theesophagus. The LES is a muscle that serves as a valve between theesophagus and the stomach. The LES protects the lower esophagus fromstomach acid and bile, which cause the discomfort of heartburn and intime can damage or scar the esophagus.

The diaphragm is a muscular membrane that assists is respiration andintersects the upper Gastrointestinal (GI) tract at an approximate rightangle, typically within the length of the LES, creating a pressureinversion point (PIP), which is often referred to as the respiratoryinversion point (RIP). As used herein, an “upper GI tract” includes atleast the UES, esophagus, LES and at least portions of the pharynx andstomach. The PIP is named as such because it is a point along the lengthof the upper GI tract (typically within, but sometimes proximate to, theLES) where the muscular pressure in response to respiration inverts.Above the PIP, pressure increases during inhalation and decreases duringexhalation. In contrast, below the PIP, the pressure decreases duringinhalation and increases during exhalation. A hiatal hernia occurs ifthe PIP (i.e., the intersection of the diaphragm and the LES) is notwithin the LES, but is located below the LES within the upper regions ofthe stomach

Manometry is the recording of muscle pressures within an organ.Esophageal manometry measures the muscular pressure exerted along theupper GI tract, for example, during peristalsis. Esophageal manometry isused to evaluate the contraction function of the upper GI tract in manysituations (e.g., breathing, swallowing food, swallowing liquid,drinking, coughing, etc.) and can be useful for diagnosing symptoms thatoriginate in the esophagus, for example, difficulty in swallowing foodor liquid, heartburn, and chest pain to determine the cause of thesymptoms, for example, dysphasia or echolalia.

A variety of esophageal manometry systems have been used to studypressure along the upper GI tract. Such systems typically include aprobe that is inserted into the upper GI tract and one or more pressuresensors that detect pressure from different locations within the upperGI tract. One type of a probe is a catheter. An esophageal manometrysystem that has a catheter as a probe is a referred to herein as acatheter-based esophageal manometry system. Types of catheter-basedesophageal manometry systems include solid state systems and waterperfuse systems. In water perfuse systems, pressure sensors are locatedexternal to the catheter. Each pressure sensor has a corresponding tubethat extends into the catheter and pumps fluid (e.g., water) at somelongitudinal location of the catheter against the interior surfaces ofthe GI tract. The pressure resulting from the impact of the fluidagainst the interior surface is transmitted via the fluid through thetube to the pressure sensor, where it is detected. In contrast, solidstate systems do not use fluids, and each sensing element is attached toor embedded within the catheter and detects pressure locally at thepoint of impact with the interior surface of the upper GI tract. Eachsensor transmits its detected values out of the catheter using anelectronic or optical signal.

Existing solid state, catheter-based, esophageal manometry systemstypically include only four to eight sensors that detect pressure valuesduring a given temporal interval. Such sensors typically are locatedseveral centimeters (i.e., more than three centimeters) apart from oneanother. Such systems may include an application that displays thedetected values as line trace plots to a user. The low spatialresolution of the sensors in such systems results in a low spatialresolution of information being detected and displayed to the user forany given temporal interval. To increase the spatial resolution ofdetected values in such systems, the catheter may be moved such that thesensors detect values at other locations, for example, locations betweenthe previous locations of the sensors. These latter detected values,however, are detected during different temporal intervals than previousvalues, so the user still is not provided spatially dense informationduring a single temporal interval.

Water perfuse catheter-based systems are described in “Topography of theesophageal peristaltic pressure wave,” by R. Clouse, American Journal ofPhysiology, 1991; 261 (Gastrointest Liver Physio 24): G677-G684, and in“Topographic Imaging of Esophageal Manometric Signals,” R. Clouse,(Motility 1999; 48: 11-13), and have been made available from MedicalMeasurement Systems, b.v. of Sweden). Water perfuse catheter-basedsystem may include a catheter and up to twenty one tubes where each tubehas an opening on its side at a different longitudinal location alongthe catheter from which it releases water. The resulting pressure fromtissue contact at each release site is then transmitted through thewater in the tube to a corresponding sensor. Each tube opening is spacedapproximately one centimeter apart from a nearest other tube along thelongitudinal axis of the catheter. Thus, a water perfuse catheter-basedsystem may have a higher spatial resolution than existing solid state,catheter-based esophageal manometry systems.

An esophageal manometry system may include or be accompanied with anapplication that visually indicates the values detected by the sensorsto a user, and may be capable of visually indicating the values detectedby the sensor on a temporal plot in real time using a line tracetechnique. As used herein, a “temporal plot” is a plot having a temporalaxis, where, for each of a plurality of temporal intervals, valuesdetected during the temporal interval are visually indicated at atemporal position relative to the temporal axis that corresponds to thetemporal interval. The values detected during different temporalintervals are visually indicated concurrently. A temporal plot is usefulto concurrently illustrate values of a physical property detected at oneor more locations over time.

As used herein, a value detected for a physical property is visuallyindicated “in real time” if the duration of time between the time atwhich the value was detected and the time at which the value isinitially visually indicated is short enough relative to the rate atwhich the physical property changes such that the visually indicatedvalue may be considered the current value of the physical property atthe time of its initial visual indication. Such visually indicated valuemay be considered the current value because, even if the physicalproperty has changed during the time between its detection and itsinitial visual indication, the rate of change is slow enough such thatthe amount of change is tolerable in the context in which the value isbeing used.

Thus, in the context of esophageal manometry, a detected pressure valueat a location in the esophagus is visually indicated “in real time” ifthe duration of time between the time at which the pressure value wasdetected and the time at which the value is initially visually indicatedis short enough relative to the rate at which the pressure changes inthe esophagus such that the visually indicated pressure value at thetime of its initial visual indication is considered the current value ofpressure at the location.

As used herein, a “line tracing technique” of visually indicating valuesdetected at different locations over time on a temporal plot means, foreach location, visually indicating a baseline for the location, thebaseline running parallel to the temporal axis. The value detected atthe location during each temporal interval is represented as an offsetfrom the baseline at a temporal position relative to the temporal axisthat corresponds to the temporal interval. The amount of the offsetcorresponds to the detected value. Each visually indicated valuedetected at the location is connected by a continuous line, which,depending on the detected values, may be a straight line or a curvedline.

Some such software applications also concurrently visually indicatedetected values on a temporal plot and a profile plot, but not in realtime (i.e., post hoc). As used herein, visually indicating detectedvalues “post hoc” means not visually indicating the detected values inreal time. Typically, the detected values are first recorded and thenthe recorded values are extracted by a program that visually indicatesthe values on the temporal plot and the profile plot, concurrently. Asused herein, a “profile plot” is a plot that has a spatial axis, where,for each of a plurality of temporal intervals, for each value detected.At a different location along a dimension (i.e., a spatial dimension)from a reference point during the temporal interval, the value isvisually indicated at a spatial position relative to the spatial axis.The spatial position corresponds to the location at which the value wasdetected. At any given time, only values detected during a singletemporal interval are visually indicated on the profile plot.

The temporal plot on known systems that visually indicate values posthoc may use a line tracing technique or a contour technique. As usedherein, displaying values of a physical property detected by sensorslocated at different locations along a dimension of an organism overtime on a temporal plot using a contour technique means the following.For each of a plurality of temporal intervals of the period, for each ofa plurality of the sensors, a value of the physical property detected bythe sensor during the temporal interval is visually indicated at acoordinate of the temporal plot. The temporal plot has a temporal axisrepresenting time and a spatial axis, oriented orthogonally to thetemporal axis, representing the dimension. The value is visuallyindicated at the coordinate using a tone (i.e., a color or grayscalevalue) corresponding to the value, and the coordinate has a spatialposition relative to the spatial axis that corresponds to the locationof the sensor and has a temporal position relative to the temporal axisthat corresponds to the temporal interval.

The contour technique employed by known systems for visually indicatingdetected values on a temporal plot is static in that the positions ofthe detected values displayed on the temporal plot do not change and thetemporal intervals displayed on the temporal plot remain fixed as theuser views the temporal plot.

Accordingly, for such a static temporal plot visually indicated post hocalong with a profile plot, even if the profile plot changes with time todisplay values from different temporal intervals, there is nocorrelation to the values being visually indicated on the profile plotand the visual indication of detected values on the temporal plot.

Further, in such known systems when values are visually indicated on atemporal plot and a profile plot, concurrently, post hoc, the temporalaxis of the temporal plot is oriented vertically on the image presentedto the user and the spatial axis of the temporal plot and the profileplot are oriented horizontally on the image presented to the user.

Further, although known esophageal manometry systems visually indicatedetected values on a profile plot post hoc, such systems do not visuallyindicate detected values on a profile plot in real time.

SUMMARY

One problem with known manometry systems is that, for real time visualindication of values detected over a period of time to a user on atemporal plot, such systems are limited to visually indicating thevalues using a line-trace technique. A drawback to visually indicatingvalues on a temporal plot using a line trace technique (e.g., see FIG.11, Item 1002) is that as the number of locations for which values arevisually indicated grows, the more confusing the plot becomes to a user.Typically, to limit this confusion, values detected from only a limitednumber of locations over time are visually indicated. This limitednumber of locations limits the density of the spatial resolution of thevisually indicated values along the spatial axis. Unfortunately, whenlimiting the number of locations for which values are visuallyindicated, the number of locations for which values are not visuallyindicated grows as well as the number of locations grow. As a result, auser may be provided with relatively sparse information about the valuesof a physical property detected along a dimension within the GI tractover time although more information is available. For example, if theuser is a doctor examining the upper GI tract of a patient, the doctormay be limited in his/her ability to determine the condition of thepatient's upper GI tract over time while the values are being detectedwithin the GI tract because not all of the available information is madeavailable to the doctor.

Thus, an improved technique is needed for visually indicating to a user,on a temporal plot in real time, values detected over a period of timealong a dimension of an organism, where the visual indication of suchvalues has a higher spatial resolution than that produced using a linetracing technique.

Accordingly, in an aspect of the invention, a system for, and method of,visually indicating, in real time, values of a physical propertydetected over a period of time along a dimension of an organism (e.g.,along the length of an upper GI tract) to a user on a temporal plotusing a contour technique are provided. To provide a finer spatialresolution, values may be interpolated for locations between thelocations at which values were detected, and these values may bedisplayed on the temporal plot as well.

Another problem with know manometry systems is that, although some ofsuch systems visually indicate values detected over time to a userconcurrently on a temporal plot and profile plot, post hoc, no suchsystems visually indicate the values to the user concurrently on atemporal plot and profile plot in real time. Thus, a user (e.g., aphysician) must wait until after the values have been persisted to viewthe detected values on a temporal plot and a profile plot concurrently.Not being able to view the detected values in real time prevents a userfrom being able to analyze the detected values and possibly diagnose thecondition of an upper GI tract from which the values were detected.Further, not being able to view the detected values in real time mayprevent the user from making adjustments in the position of the sensorsdetecting the values as the values are being detected.

Accordingly, in another aspect of the invention, a system for, andmethod of, visually indicating, in real time, values of a physicalproperty detected over a period of time along a dimension of an organism(e.g., along the length of an upper GI tract) to a user on a temporalplot and a profile plot, concurrently are provided. In this aspect, thedetected values may be visually indicated on the temporal plot using anyof a variety of techniques, including, but not limited to, a contourtechnique, a line trace technique or a mesh plot technique. Further, inthis aspect, the detected values may be visually indicated on theprofile plot using any of a variety of techniques, including, but notlimited to a contour technique, a line trace technique or a histogramtechnique.

Another problem with known manometry systems is that, although some ofsuch systems can visually indicate values detected over a period of timeto a user, post hoc, on a temporal plot using a contour technique and ona profile plot, concurrently, the temporal axis of the contour plot isvertical and the spatial axes of both plots is horizontal. Thisorientation of axes is counter-intuitive to a user, as typically thetemporal of a temporal plot is horizontal.

Accordingly, in another aspect of the invention, a system for, andmethod of, visually indicating, in real time or post hoc, values of aphysical property detected over a period of time along a dimension of anorganism (e.g., along the length of an upper GI tract) to a user on aprofile plot and on a temporal plot having a horizontally-alignedtemporal axis (with respect to the user) using a contour technique,concurrently, are provided. In a feature of this aspect, the spatialaxes of both plots may be vertically aligned. In this aspect, thedetected values may be visually indicated on the profile plot using anyof a variety of techniques, including any of those techniques describedherein.

Another drawback with known esophageal manometry systems is that none ofsuch systems have the ability to visually indicate, in real time, valuesdetected over a period of time on a profile plot.

Accordingly, in another aspect of the invention, a system for, andmethod of, visually indicating, in real time or post hoc, values of aphysical property detected over a period time along a dimension of anorganism (e.g., along the length of an upper GI tract) to a user on aprofile plot are provided.

Another problem with known esophageal manometry systems is that none ofsuch systems have the ability to visually indicate values detected overa period of time on a profile plot using a contour technique, as knownsystems are typically limited to displaying detected values on a profileplot using a line tracing technique.

Accordingly, in yet another aspect of the invention, a system for, andmethod of, visually indicating, in real time or post hoc, values of aphysical property detected over a period of time along a dimension of anorganism (e.g., an upper GI tract) to a user on a profile plot using acontour technique are provided.

Another drawback to known esophageal manometry systems is that, althoughsuch systems may be capable of visually indicating values detected overa period of time on a plot, no such systems are capable of togglingbetween a first technique for visually indicating the detected values onthe plot and a second technique for visually indicating the values onthe plot. Such plot may be a temporal plot or a profile plot, and foreither type of plot, the toggle techniques may be any of a variety oftechniques for visually indicating values detected over a period oftime, including any of those techniques described herein. Accordingly,after the visual indication of the values detected over a period of timehas begun, the user does not have the ability to change the techniquebeing used to display the detected values.

Accordingly, in another aspect of the invention, a system for, andmethod of, toggling between a plurality of techniques for visuallyindicating, in real time or post hoc, values of a physical propertydetected over a period of time along a dimension of an organism (e.g.,along the length of an upper GI tract) to a user on a plot (e.g., atemporal plot or profile plot) are provided.

Another drawback to known esophageal manometry systems is that, althoughsome of such systems visually indicate values detected over a period ortime to a user, such systems do not indicate to the user the location atwhich the values were detected with respect to an anatomical landmark,for example, a UES, LES, upper margin of an LES, lower margin of an LESor a PIP. Not knowing the location of anatomical landmarks with respectto the locations of detected values may limit a user's ability todetermine conditions along the upper GI tract, and to diagnose anysymptoms relating to the upper GI tract.

Accordingly, in another aspect of the invention, a system for, andmethod of, determining the locations of one or more anatomical landmarkidentifiers along a dimension of an organism (e.g., along the length ofan upper GI tract) based on values of a physical property detected alongthe dimension over time are provided.

In another aspect, a system for, and method of, visually indicating thelocation of one or more landmark identifiers on a temporal plot and/or atemporal plot are provided.

In yet another aspect of the invention, a system for, and method of,visually indicating an anatomical image on a profile plot concurrentlyto visually indicating values detected over a period of time along adimension of an organism are provided. In a feature of this aspect, theanatomical image is configured based on the locations of one or morelandmark identifiers.

In another aspect of the invention, if values detected from only asubset of the sensors are being visually indicated, a system for, andmethod of, determining for which sensors values are to be visuallyindicated based on one or more distances specified relative to one ormore anatomical landmarks are provided.

Another drawback with known esophageal manometry systems is that no suchsystems visually indicate values detected over a period of time on botha first temporal plot and a second temporal plot, concurrently. Forexample, such systems do not visually indicate detected values on afirst plot using a first technique concurrently to visually indicatingthe detected values on a second plot using a second technique.Accordingly, if each technique provides different information that isuseful to a user, the user is deprived of having all of the availableinformation concurrently.

In yet another aspect of the invention, a system for, and method of,visually indicating values of a physical property detected over a periodof time along a dimension of an organism (e.g., along the length of anupper GI tract) on a first temporal plot and a second temporal plot,concurrently, are provided. In a feature of this aspect, the firsttemporal plot may use a different technique for visually indicating thedetected values than the second temporal plot. Either plot may use anyof a variety of techniques, for example, any of the techniques disclosedherein. Further, such concurrent visual indication may be in real timeor post hoc. In another feature of this embodiment, one of the temporalplots may be scaled down and superimposed on the other plot. In yetanother feature of this aspect, a user may be provided the ability totoggle between visually indicating the values on only one temporal plotand visually indicating the values on two temporal plots, concurrently.In another feature of this aspect, values detected over a period of timeare visually indicated to a user on a first temporal plot, a secondtemporal plot and a profile plot, concurrently.

In another aspect of the invention, to accommodate for sensors that failto detect values during one or more spatial intervals, a system for, andmethod of, interpolating a value for a channel based on other valuesdetected during the temporal interval are provided. Such interpolationmay be a linear interpolation or a non-linear interpolation, forexample, cubic spline interpolation. These interpolated values forsensors that fail to detect values may be treated as detected values byother elements of a system in which the detected values are used.

In yet another embodiment, to provide a higher spatial resolution of thevisual indications or values on a temporal plot and/or profile plot, asystem for, or method of, interpolating values for locations along afirst dimension between locations at which values were detected areprovided. These interpolated values then may be visually indicated alongwith detected values on a temporal plot and/or profile plot.

In yet another embodiment of the invention, when values from only asubset of the sensors are being visually indicated on a plot, forexample, on a temporal plot using a line tracing technique, a systemfor, and method of, visually indicating the identity of the sensors forwhich values are being displayed are provided. For example, such visualindications may be included on the temporal plot and/or a profile plot.Further, such indications may indicate a temporal plot and/or a profileplot. Further, such indications may indicate a location along adimension (e.g., of an organism) at which the sensors for which valuesare being visually indicated are located.

In yet another aspect of the invention, a system for, and method of,visually indicating annotations on a profile plot and/or a temporal plotare provided.

In another aspect, a system for, and method of, normalizing visuallyindicated values detected along a dimension of an organism based on thevalues detected from one of the sensors within the organism areprovided. In a feature of this aspect, a user may be unable to select asensor, and values detected by the sensor over time may be used todetermine a normalizing value by which to normalize the values detectedby a plurality of sensors.

A drawback of systems that include a plurality of solid state sensorsthat detect values of a physical property detected along a dimension ofan organism (e.g., along the length of an upper GI tract) is that thesensors are spaced apart at such a distance that spatial resolution ofthe detected data is low. Accordingly, a user's ability to determine thecondition of the upper GI tract is compromised.

Accordingly, in another aspect, a system for detecting and visuallyindicating values of a physical property having a high spatialresolution along a dimension of an organism (e.g., along a length of anupper GI tract) is provided. For example, the system may include aplurality of sensors spaced in a close proximity to one or more nearestsensors, for example, less then three centimeters, such as less than twocentimeters, for example, one centimeter or less. The values detected bythese sensors over a period of time are transmitted to a visualizationcomponent that visually indicates the detected values over time using atemporal plot, a profile plot, or a combination thereof. The spatialresolution along the first dimension of the visually indicated valuesmay be made even higher by interpolating values for locations betweenthe locations of one or more of the sensors from which values aredetected.

In an embodiment of the invention, values of a physical propertydetected over a period of time are visually indicated to a user. Thevalues are detected by sensors located at different predefined distancesfrom a reference point along a spatial dimension of an organism, and theperiod of time includes a plurality of temporal intervals. For a firstof the plurality of temporal intervals, for each of a plurality of thesensors, a value of the physical property detected by the sensor duringthe temporal interval is visually indicated in real time at a coordinateof a temporal plot, which has a temporal axis representing time and aspatial axis, oriented orthogonally to the temporal axis, representingthe spatial dimension. The value is visually indicated using a tonecorresponding to the value. The coordinate has a spatial positionrelative to the spatial axis that corresponds to the location of thesensor and has a temporal position relative to the temporal axis thatcorresponds to the temporal interval. This act of visually indicatingvalues may be repeated for a next one or more temporal intervals, wherethe values detected by the plurality of sensors during the one or morenext temporal intervals and the values detected by the plurality ofsensors during the first temporal interval are concurrently visuallyindicating to the user on the temporal plot.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In another embodiment, values of a physical property detected over aperiod of time by sensors located at different predefined distances froma reference point along a spatial dimension of an organism are visuallyindicated to a user. The period of time includes a plurality of temporalintervals. For a first of the plurality of temporal intervals, for eachsensor of at least a subset of a plurality of the sensors, a respectivevalue of the physical property detected by the sensor during thetemporal interval is visually indicated in real time on a coordinate ofa temporal plot, which has a temporal axis representing time. Thecoordinate has a temporal position relative to the temporal axis thatcorresponds to the temporal interval. Concurrently to visuallyindicating the values on the temporal plot, for each sensor of theplurality of sensors, the value of the physical property detected by thesensor during the temporal interval is visually indicated to the user inreal time at a coordinate of a profile plot, which has a spatial axisrepresenting the spatial dimension. The coordinate has a spatialposition relative to the spatial axis that corresponds to the locationof the sensor. Visually indicating detected values on the temporal plotis repeated for a next one or more of the plurality of temporalintervals in sequence. The values detected by the at least subset of theplurality of sensors during the one or more next temporal intervals andthe values detected by the at least subset of the plurality of theplurality of sensors during the first temporal interval are concurrentlyvisually indicated to the user on the temporal plot. Concurrently torepeating the visual indication of detected values on the temporal plotfor a next one or more intervals, the values detected by the next one ormore intervals are visually indicated on the profile plot, where thevisual indication of the value detected by each of the plurality ofsensors for a temporal interval is replaced with the visual indicationof the value detected by the sensor during a next temporal interval.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In yet another embodiment, provided is a method of visually indicatingto a user values of a physical property detected over a period of timeby sensors located at different predefined distances from a referencepoint along a spatial dimension of an organism, wherein the period oftime includes a plurality of temporal intervals, the method comprisingacts of: (A) for a first of the plurality of temporal intervals, foreach sensor of at least a subset of a plurality of the sensors, visuallyindicating a respective value of the physical property detected by thesensor during the temporal interval on a coordinate of a temporal plothaving a temporal axis representing time, the coordinate having atemporal position relative to the temporal axis that corresponds to thetemporal interval; (B) concurrently to performing act (A), for eachsensor of the plurality of sensors, visually indicating the value of thephysical property detected by the sensor during the temporal interval tothe user at a coordinate of a profile plot having a spatial axisrepresenting the spatial dimension, the coordinate having a spatialposition relative to the spatial axis that corresponds to the locationof the sensor; and (C) repeating act (A) for a next one or more of theplurality of temporal intervals in sequence, including concurrentlyvisually indicating to the user on the temporal plot the values detectedby the at least subset of the plurality of the sensors during the one ormore next temporal intervals and the values detected by the at leastsubset of the plurality of the sensors during the first temporalinterval, and (D) concurrently to performing act (C), repeating act (B)for the next one or more temporal intervals, including, for eachperformance of act (D), replacing the visual indication of the valuedetected by each of the plurality of the sensors for a temporal intervalwith the visual indication of the value detected by the sensor during anext temporal interval, wherein the spatial axis of the temporal plotand the spatial axis of the profile plot are laterally aligned.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In another embodiment, provided is a method of visually indicating to auser values of a physical property detected over a period of time bysensors located at different predefined distances from a reference pointalong a spatial dimension of an organism, wherein the period of timeincludes a plurality of temporal intervals, the method comprising actsof: (A) using a first process to visually indicate values of physicalproperties detected by at least a subset of a plurality of the sensorsduring different temporal intervals on a temporal plot having a temporalaxis representing time and a spatial axis, oriented orthogonally to thespatial axis, representing the spatial dimension; (B) receiving a userinput indicating to use a second process different than the firstprocess to visually indicate the values; and (C) in response to the userinput, switching from the first process to a second process to visuallyindicate the values on the plot, wherein, for each of the plurality oftemporal intervals, for each of the at least subset of the plurality ofthe sensors, the first process visually indicates the value detected bythe sensor during the temporal interval by performing one of thefollowing acts: (1) visually indicating the value at a coordinate of theplot using a tone corresponding to the value, the coordinate having aspatial position relative to the spatial axis that corresponds to thelocation of the sensor; or (2) visually indicating the value detected byeach sensor during the temporal interval as a displacement from acoordinate of the temporal plot, the coordinate from which the visualindication of each value is displaced having a spatial position relativeto the spatial axis that corresponds to the predefined distance alongthe spatial dimension to the predefined distance along the spatialdimension at which the sensor from which the value was detected islocated, and wherein, the second process visually indicates the valuesdetected by the sensors by performing whichever of acts (1) and (2) arenot performed by the first process.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In yet another embodiment, provided is a method of visually indicatingto a user values of a physical property detected over a period of timeby sensors located at different predefined distances from a referencepoint along a spatial dimension of an organism, wherein the period oftime includes a plurality of temporal intervals, the method comprisingacts of: (A) for a first of the plurality of temporal intervals, foreach of a plurality of the sensors, visually indicating a value of thephysical property detected by the sensor during the first temporalinterval to the user at a coordinate of a profile plot having a spatialaxis representing the spatial dimension, the coordinate having a spatialposition relative to the spatial axis that corresponds to the locationof the sensor; (B) repeating act (A) for a next one or more temporalintervals, including, for each performance of act (B), replacing thevisual indication of the value detected by each sensor for a temporalinterval with the visual indication of the value detected by the sensorduring a next temporal interval; and (C) for each performance of act(A), visually indicating an anatomical landmark of the organism at acoordinate of the plot, the coordinate at which the landmark is visuallyindicated having a spatial position relative to the spatial axiscorresponding to a distance from the reference along the dimensionwithin the organism at which the landmark is located.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In another embodiment, provided is a method of visually indicating to auser values of a physical property detected over a period of time bysensors located at different predefined distances from a reference pointalong a spatial dimension of an organism, wherein the period of timeincludes a plurality of temporal intervals, the method comprising actsof: (A) for a first of the plurality of temporal intervals, for each ofa plurality of the sensors, visually indicating a value of the physicalproperty detected by the sensor during the first temporal interval tothe user at a coordinate of a profile plot having a spatial axisrepresenting the spatial dimension, the coordinate having a spatialposition relative to the spatial axis that corresponds to the locationof the sensor; and (B) repeating act (A) for a next one or more temporalintervals, including, for each performance of act (B), replacing thevisual indication of the value detected by each sensor for a temporalinterval with the visual indication of the value detected by the sensorduring a next temporal interval; and (C) for each performance of act(A), visually indicating an image of at least a portion of the organismon the plot concurrently to visually indicating the values.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In another embodiment, provided is a method of visually indicating to auser values of a physical property detected over a period of time bysensors located at different predefined distances from a reference pointalong a spatial dimension of an organism, wherein the period of timeincludes a plurality of temporal intervals, the method comprising actsof: (A) for a first of the plurality of temporal intervals, for each ofa plurality of the sensors, visually indicating a value of the physicalproperty detected by the sensor during the temporal interval at acoordinate of a temporal plot having a temporal axis representing timeand a spatial axis, oriented orthogonally to the temporal axis,representing the spatial dimension, including visually indicating thevalue using a tone corresponding to the value, the coordinate having aspatial position relative to the spatial axis that corresponds to thelocation of the sensor and having a temporal position relative to thetemporal axis that corresponds to the temporal interval; (B)concurrently to act (A), for the first of the plurality of temporalintervals, for each of at least a subset of the plurality of sensors,visually indicating a value of the physical property detected by thesensor during the temporal interval on a second temporal plot having atemporal axis representing time, wherein, for each of the at leastsubset of the plurality of sensors, the second temporal plot includes abaseline for the sensor, the baseline running parallel to the temporalaxis, and wherein the value detected by the sensor is represented as anoffset from the baseline at a temporal position relative to the temporalaxis that corresponds to the first temporal interval, the amount of theoffset corresponding to the value; and (C) repeating act (A) for a nextone or more of the plurality of temporal intervals in sequence,including concurrently visually indicating to the user on the secondtemporal plot the values detected by the sensors during the one or morenext temporal intervals and the values detected by the sensors duringthe first temporal interval; and (D) concurrently to performing act (C),repeating act (B) for a next one or more of the plurality of temporalintervals in sequence, including concurrently visually indicating to theuser on the second temporal plot the values detected by the at leastsubset of the plurality of sensors during the one or more next temporalintervals and the values detected by the at least subset of theplurality of sensors during the first temporal interval.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In yet another embodiment, provided is a method of visually indicatingto a user values of a physical property detected over a period of timeby sensors located at different predefined distances from a referencepoint along a spatial dimension of an organism, wherein the period oftime includes a plurality of temporal intervals, the method comprisingacts of: (A) for a first of the plurality of temporal intervals, foreach sensor of at least a subset of the sensors, visually indicating arespective value of the physical property detected by the sensor duringthe temporal interval on a coordinate of a temporal plot having atemporal axis representing time, the coordinate having a temporalposition relative to the temporal axis that corresponds to the temporalinterval; (B) repeating act (A) for a next one or more of the pluralityof temporal intervals in sequence, including concurrently visuallyindicating to the user on the temporal plot the values detected by thesensors during the one or more next temporal intervals and the valuesdetected by the sensors during the first temporal interval, and (C) foreach performance of act (A), visually indicating sensor identifiers tothe user along the spatial axis of the temporal plot, each sensoridentifier identifying a position along the spatial axis of the sensorof a respective one of the sensors of the subset.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In another embodiment, provided is a method of visually indicating to auser values of a physical property detected over a period of time bysensors located at different predefined distances from a reference pointalong a spatial dimension of an organism, wherein the period of timeincludes a plurality of temporal intervals, the method comprising actsof: (A) for a first of the plurality of temporal intervals, subtractinga first value detected by one of the sensors during one of the pluralityof temporal intervals from a respective value of the physical propertydetected by each of a plurality of the sensors during the temporalinterval to produce a reduced value for each of the plurality of thesensors; (B) visually indicating each reduced value on a plot having aspatial axis representing the spatial dimension, including visuallyindicating each reduced value at a coordinate of the temporal plothaving a spatial position relative to the spatial axis that correspondsto the predefined distance along the spatial dimension at which thesensor corresponding to the reduced value is located; and (C) repeatingacts (A) and (B) for a next one or more of the plurality of temporalintervals in sequence.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In another embodiment, provided is a method of visually indicating to auser values of a physical property detected over a period of time bysensors located at different predefined distances from a reference pointalong a spatial dimension of an organism, wherein the period of timeincludes a plurality of temporal intervals, and wherein each of thesensors are separated by a predefined distance from one or more nearestother sensors, the method comprising acts of: (A) for a first of theplurality of temporal intervals, for a pair of adjacent sensors of aplurality of the sensors, interpolating a value of the physical propertyat a distance from the reference point between the pair of sensors basedat least on the values of the physical property detected by the pair ofsensors during the temporal interval; (B) for the first temporalinterval, visually indicating the interpolated value and a respectivevalue of the physical property detected from each of the plurality ofthe sensors during the first temporal interval to the user on a plothaving a spatial axis representing the spatial dimension, includingvisually indicating each value at a coordinate of the profile plothaving a spatial position relative to the spatial axis that correspondsto the predefined distance along the spatial dimension at which thesensor from which the value was detected is located and visuallyindicating the interpolated value at a spatial position relative to thespatial axis that corresponds to the distance from the reference pointbetween the pair of sensors; and (C) repeating acts (A) and (B) for anext one or more temporal intervals, including, for each performance ofact (C), replacing the visual indication of the interpolated value andthe value detected by each sensor for a temporal interval with thevisual indication of the interpolated value and the value detected bythe sensor, respectively, during a next temporal interval.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

In yet another embodiment, provided is a method of visually indicatingto a user values of a physical property detected over a period of timeby sensors located at different predefined distances from a referencepoint along a spatial dimension of an organism, wherein the period oftime includes a plurality of temporal intervals, the method comprisingacts of: (A) for a first of the plurality of temporal intervals,receiving a respective value of the physical property detected from eachof a plurality of the sensors during the first temporal interval and notreceiving a value for one of the sensors located between two of theplurality of the sensors; (B) interpolating a value for the one sensorbased at least on the values of the physical property detected by thetwo sensors during the temporal interval; (C) for the first temporalinterval, visually indicating the interpolated value and a respectivevalue of the physical property detected from each of the plurality ofthe sensors during the first temporal interval to the user on a plothaving a spatial axis representing the spatial dimension, includingvisually indicating each value at a coordinate of the profile plothaving a spatial position relative to the spatial axis that correspondsto the predefined distance along the spatial dimension at which thesensor from which the value was detected is located and visuallyindicating the interpolated value at a spatial position relative to thespatial axis that corresponds to the predefined distance along thespatial dimension at which the one sensor is located; and (D) repeatingacts (A), (B) and (C) for a next one or more temporal intervals.

In yet another embodiment, provided is a system for visually indicatingto a user values of a physical property detected over a period of timeof an organism, the period of time including a plurality of temporalintervals. The system comprises a detection component including aplurality of solid state sensors, where each solid state sensor islocated at a different predefined distance from a reference point alonga spatial dimension within the organism. Each solid state sensor isoperable to detect a value of the physical property at the location ofthe solid state sensor during each of the plurality of temporalintervals, and each solid state sensor is separated from a nearest ofthe other solid state sensors by approximately 1.0 centimeters. Thesystem also includes a visualization component to receive, for each ofthe plurality of temporal intervals, the values detected by to the solidstate sensors, and to control visual indications of the detected valueson a plot having a spatial axis representing the spatial dimension, thevisual indication including visually indicating each value at acoordinate of the profile plot having a spatial position relative to thespatial axis that corresponds to the predefined distance along thespatial dimension at which the solid state sensor from which the valuewas detected is located.

In yet another embodiment, provided is a method of determining adistance from a reference point along a spatial dimension within theorganism at which an anatomical landmark is located based on values of aphysical property detected over a period of time by sensors located atdifferent predefined distances from the reference point along thespatial dimension within the organism, the period of time including aplurality of temporal intervals, wherein each sensor has an associatedtemporal set of values of the physical property detected at thepredefined distance at which the sensor is located, each value of thetemporal set representing a value of the physical property detectedduring a different one of the temporal intervals, the method comprisingacts of: (A) for each temporal set, determining an average value of thevalues of the temporal set; (B) based on the determined averages,generating a spatial function defining values of the physical propertyas a function of distance along the spatial dimension; and (C)determining a local maximum of the spatial function, wherein theanatomical landmark is located at the determined local maximum.

This embodiment and/or aspects thereof may be implemented as a computerprogram product that includes a computer-readable medium andcomputer-readable signals stored on the computer-readable medium, whichsignals define appropriate instructions. These instructions, as a resultof being executed by a computer, instruct the computer to perform theacts described above for this embodiment.

Other advantages, novel features, and objects of the invention, andaspects and embodiments thereof, will become apparent from the followingdetailed description of the invention, including aspects and embodimentsthereof, when considered in conjunction with the accompanying drawings,which are schematic and which are not intended to be drawn to scale. Inthe figures, each identical or nearly identical component that isillustrated in various figures is represented by a single numeral. Forpurposes of clarity, not every component is labeled in every figure, noris every component of each embodiment or aspect of the invention shownwhere illustration is not necessary to allow those of ordinary skill inthe art to understand the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example of a system forvisually indicating values detected over a period of time to a user;

FIG. 2 is a block diagram illustrating an example of a detectioncomponent of a system for visually indicating detected values to a user;

FIG. 3 is a block diagram illustrating a collection of detection entriesstored on a recording medium;

FIG. 4 is a block diagram illustrating an example of a detection entry;

FIG. 5 is a block diagram illustrating an example of a temporal intervalentry of a detection entry;

FIG. 6 is a block diagram illustrating an example of a visualizationcomponent of a system for visually illustrating values detected over aperiod of time to a user;

FIG. 7 is a flow chart illustrating an example of a method of visuallyindicating values detected over a period of time to a user in real timeon a temporal plot using a contour technique;

FIG. 8. is an example of a temporal plot visually indicating valuesdetected over a period of time using a contour technique;

FIG. 9 is an example of a profile plot visually indicating valuesdetected over a period of time using a contour technique;

FIG. 10 is a flow chart illustrating an example of a method of visuallyindicating values detected over a period of time on a temporal plot anda profile plot concurrently;

FIG. 11 is an example of a display including a temporal plot and aprofile plot visually indicating values detected over a period timeconcurrently;

FIG. 12 is a flow chart illustrating an example of a method of togglingbetween visually indicating values detected over a period time on a plotin a first mode and visually indicating the values on the plot in asecond mode;

FIG. 13 is a flow chart illustrating an example of a method ofconcurrently visually indicating detected values, locations ofanatomical landmarks and an anatomical image on a plot;

FIG. 14 is an example of a profile plot on which detected values,landmark location identifiers and an anatomical image are concurrentlyvisually indicated;

FIG. 15 is an example of a display including a profile plot on whichdetected values, landmark location identifiers and an anatomical imageare visually indicated and a moving contour plot on which a spatialposition of one of the landmark location identifiers is visuallyindicated;

FIG. 16 is a flowchart illustrating an example of a method ofdetermining a location of an anatomical landmark of an organism;

FIG. 17 is an example of a display including visual indications ofvalues detected at a plurality of locations over a period of time;

FIG. 18 is an example of a plot of sum-based values determined forvalues detected at a plurality of locations over a period of time;

FIG. 19 is a flow chart illustrating an example of determining alocation and length of an anatomical landmark within an organism;

FIGS. 20A-20B comprise a flow chart illustrating an example of a methodof determining a position of a pressure inversion point within an upperGI tract;

FIG. 21 is an example of a correlation measure plot determined fromvalues detected from different locations over a period of time;

FIG. 22 is an example of a method of visually indicating values detectedby a subset of sensors on a temporal plot using a line tracing techniquebased on one or more distances defined relative to the locations of oneor more anatomical landmarks;

FIG. 23 is an example of a control panel of a GUI through which a usercan define one or more distances relative to a UES and/or an LES;

FIG. 24 is an example of a display including a temporal plot and aprofile plot on which values detected by a subset of values are visuallyindicated based on one or more distances defined relative to thelocations of one or more anatomical landmarks;

FIG. 25 is a display including a temporal plot and a profile plot wherethe values visually indicated on the profile plot are determined from auser's selection of a spatial location on the temporal plot;

FIG. 26 is an example of a display including a first temporal plot and asecond temporal plot on which detected values are visually indicatedconcurrently;

FIG. 27 is a flow chart illustrating an example of a method ofinterpolating values for one or more sensors for which no values aredetected during a temporal interval;

FIG. 28 is a block diagram illustrating an example of a temporal plotcomponent of a visualization component;

FIG. 29 is a block diagram illustrating an example of a profile plotcomponent of a visualization component;

FIG. 30 is a block diagram illustrating an example of a computer system;and

FIG. 31 is block diagram illustrating an example of a memory system of acomputer system.

DETAILED DESCRIPTION OF THE INVENTION

Although aspects of the invention described below are describedprimarily in relation to visually indicating values of physicalproperties (e.g., pressure, pH level, temperature, voltage, tissueimpedance) detected from an organism (e.g., a human), or values derivedtherefrom, over time, such aspects are not limited thereto, but apply tovisually indicating any types of values over time. Further, althoughaspects of the invention described below are described primarily inrelation to visually indicating values of physical properties detectedwithin the upper GI tract, such aspects are not limited thereto, butapply to visually indicating physical properties detected within otherorgans or combinations of organs, including tubular organs, locatedwithin an organism, for example, the duodenum, small bowel, bile duct,colon, Sphincter of Oddi, anus or rectum. Further, such values may bedetected along a spatial dimension external to an organism, for example,on an exterior surface of an organism.

The function and advantage of these and other embodiments of the presentinvention will be more fully understood from the examples describedbelow. The following examples are intended to facilitate anunderstanding of aspects of the present invention and their benefits,but do not exemplify the full scope of the invention.

FIG. 1 is a block diagram illustrating an example of a system 100 forvisually indicating values detected over a period of time to a user.System 100 may include any of a detection component 102, a user inputinterface 104, a visual component 106, a recording medium 108 and agraphical user interface (GUI) 112. As used herein, a GUI is a userinterface on which information is displayed graphically. The detectioncomponent 102 may detect values of an organism (e.g., from within anorganism) over a period of time and provide such values to avisualization component 106 and/or a recording medium 108. For example,as will be described in more detail below, if the values are to bevisually indicated in real time, then the detected values are providedto at least the visualization component 106 and also may be persisted ina recording medium 108. If the detected values are not to be visuallyindicated in real time, but are to be visually indicated post hoc at alater point in time, then the detection component 102 may provide thedetected values to the recording medium 108 but not to the visualizationcomponent 106.

Visualization component 106 may be operable to receive detected valuesfrom detection component 102 (e.g., for real time visual indication) andfrom recording medium 108 (e.g., for post hoc visual indication).Further, the visualization component may be operable to send informationto be persisted to the recording medium during or after visuallyindicating values to a user. Such information may include the valuesthemselves, display information such as values for display parameters,locations of anatomical landmarks, locations of a probe (e.g., catheter)with respect to an organism, interpolated values, etc. The visualizationcomponent 106 also may be operable to receive user input from user inputinterface 104. The user input interface 104 may include any of a varietyof interfaces to user input devices, for example, a mouse, a keyboard, amicrophone (e.g., in combination with a voice recognition system), or atouch screen. The visualization component 106 may include a variety oflogic for generating information to send to the graphical user interface112 from the received detected values and received user input.

FIG. 2 is a block diagram illustrating an example of a detectioncomponent 102. The detection component 102 may include any of detectionlogic 206, transmission medium 204, a plurality of sensors 205 and aprobe (e.g., catheter) 202 to which the sensors 205 may be attached orin which the sensors 205 may be embedded. The sensors 205 may be any ofa variety of types of sensors, for example, pressure sensors such as acapacitive pressure sensors, for example, sensors 205 may be an array ofsensors as described in commonly-owned co-pending Patent CooperationTreaty application entitled “Array Sensor Electronics” by Son et al.,filed on even date herewith bearing attorney docket no. P00660.70006.US(hereinafter the Son application). Such pressure sensors may be capableof detecting pressure in response to contact with tissue of an organism.

The transmission medium 204 may be any of a plurality of types oftransmission mediums, such as a group of wires (e.g., a bus), a wire, acable, an optical fiber, a group of optical fibers or a wirelesstransmission medium (e.g., air). The transmission medium 204 may carrycontrol and addressing signals from the detection logic to the sensors205 and may carry detected values from the sensors 205 to the detectionlogic 206.

In an embodiment, the plurality of sensors 205 are a linear array ofnine or more sensors, for example, twenty-two or more sensors such asthirty-six sensors or even more. If there are thirty-six sensors, thetransmission medium 205 may include six input wires and six outputwires, and the detection logic 206 may be configured to control themultiplexing of detected values along the output wires. For example, adetection cycle may be divided into six sub-cycles, where, for eachsub-cycle, six detected values are received on six respective outputlines. Thus, after six sub-cycles the values detected by all 36 sensorshave been read. For each sub-cycle, the detection logic may use one ofthe six input lines to select six of the thirty-six sensors. In anaspect of the invention, a detection cycle has a frequency greater thanfifteen hertz, for example, forty hertz or greater such as two hundredhertz or even more. Accordingly, in such aspects where signals detectedby thirty-six sensors are being multiplexed during six sub-cycles, thefrequency of the sub-cycles may be greater than ninety hertz, forexample, two hundred forty hertz or greater such as 1.2 kilohertz oreven greater.

The detection logic 206 also may include signal processing logic toprocess the signals carrying the values received over transmissionmedium 204. For example, the signal process logic may include noisefiltering logic, analog-to-digital conversion logic and other logic toconvert the raw detected values into suitable form to be input tovisualization component 106. Detection logic 206 may include any of thelogic described in the Son application.

As is shown in FIG. 2, the probe 202 and sensors 205 of the detectioncomponent 102 may be inserted within a human 208 or another organism.For example, the probe may be inserted through the nasal cavity 219 intothe upper GI tract such that at least a portion of the probe 202 residesin the pharynx 210, the UES 212, the esophagus 214, the LES 216 and thestomach 218. Although FIG. 2 illustrates the probe inserted within theupper GI tract, the probe may be inserted in any of a variety ofcombination of organs, including tubular organs. For example, the probe202 may be inserted in the duodenum, the small bowel, the bile duct, thecolon, the Sphincter of Oddi, the anus or the rectum.

Each sensor may be arranged to be spaced a predefined distance from anearest one or more other sensors. Optionally, the spacing between eachpair of sensors may be configured to be approximately the same. In anaspect of the invention, this same spacing may be three centimeters orless, for example, two centimeters or less such as one centimeter, oreven less than one centimeter.

The sensors 205 may be configured to sense any of a variety of physicalproperties, for example, pressure, pH, temperature, voltage, tissueimpedance, another physical property or any combination thereof.

FIG. 3 is a block diagram illustrating an example of a collection ofdetection entries 302 stored in a storage medium 108. Each detectionentry 304 may include values of a physical property detected from anorganism over a period of time. The collection 302 may be any of aplurality of types of databases, for example, an object-orienteddatabase, a relational database, a flat file database, a combinationthereof, or any of a variety of other types of databases.

FIG. 4 is a block diagram illustrating an example of a data structure ofa detection entry 304. Each detection entry 304 may include an entryidentifier 402, detection information 404 and a plurality of temporalinterval entries 406. The entry identifier 402 may identify thedetection entry and the detection information 404 may includeinformation about the detection entry. For example, detectioninformation 404 may include a name of a patient from which the values ofthe physical property were detected, a date on which the information wasdetected, the duration of the detection, the part of the body from whichvalues were detected, the physician that detected the values from thepatient, or any of a variety of other information.

FIG. 5 illustrates an example of a temporal interval entry 406. Eachtemporal interval entry 406 may include a temporal interval identifier502 that uniquely identifies the temporal interval in the context of thedetection entry 304 to which the interval information belongs. Forexample, the temporal interval identifier may be a time at which thetemporal interval was detected.

The temporal interval entry 406 further may include temporal intervalinformation 503. Information 503 may include any information pertainingto the temporal interval, for example, any of the information describedherein, including, but not limited to, a probe (e.g., catheter) positionwithin an organism during the temporal interval, annotations made forthe temporal interval, locations of anatomical landmarks during thetemporal interval, identifications of the technique used to display thevalues on the temporal plot and/or profile plot during the temporalinterval, values interpolated during the temporal interval, etc.

The temporal interval entry 406 may further include sensor values 504that each represent a value of a physical property detected during thetemporal interval identified by temporal interval identifier 502.Although the arrangement of information illustrated in FIGS. 4 and 5 fora detection entry 304 has been described in the context of storagemedium 108, it should be understood that the same arrangement ofinformation may be employed by other aspects of the system 100, forexample, the visualization component 106, which may be operable to storesuch information locally, for example, on a non-volatile recordingmedium (e.g., random access memory (RAM)).

FIG. 6 is a block diagram illustrating an example of the visualizationcomponent 106. The visualization component 106 may be configured toreceive detected values 602 and user input 604 and output a frame 606 ofinformation to be displayed by a display mechanism, for example, agraphical user interface (GUI) 112 displayed on a display screenconnected to a computer. Visualization component 106 may include any ofa variety of logical components, including any of temporal plotcomponent 608, profile plot component 610, frame display controller 612,displayed sensor identifier component 614, spatial resolutioninterpolator 616, frame buffer 618, virtual sensor interpolator 620,landmark identification component 622, annotation component 624,temporal interval selection component 626, anatomical imaging component628, normalizer 630, landmark location identifier component 632,landmark referencing component 634 and any of a variety of othercomponents.

Frame display controller 612 receives information output from one ormore of the other components of visualization component 106, composes aframe of display information and outputs frames 606. As will bedescribed in more detail below, several of the operations performed bythe components included within visualization component 106 may beperformed in real time. The frame display controller 62 assists in thisreal time implementation.

The detected values 602 may be received at a faster rate than the rateat which a GUI is redrawn or refreshed (e.g., ten to fifteen frames persecond). The detection component 102 may be configured to sample a setof values (e.g., corresponding to a temporal interval) from sensors 205at any of a variety of rates, for example, any of the variety of ratesat which the sensors described above detect values, for example, a rateranging from approximately twenty to two hundred sets of values persecond. A timer may control the rate at which one or more of thecomponents of the visualization component 106 receive the detectedvalues to perform calculations. User inputs 604 may be receivedasynchronously and may be input to one or more of the components withinthe visualization component 106. For each set of values, operations maybe performed on the sets of values by one or more of the components ofvisualization component 106 (one or more of which may be configuredaccording to a user input 604), and the results of these operation maybe sent to frame display controller 612. Frame display controller 612may generate a complete display frame based on these results and storethe display frame in frame buffer 618 while operations are performed ona next set of values. Frame buffer 618 may be any of a plurality oftypes of memory buffers, for example, a circular buffer. When the GUI isto be refreshed (e.g., once every ten to fifteen seconds), the framedisplay controller may access the most recently stored frame in theframe buffer 618 and control a transfer of the frame from frame buffer618 to the GUI.

Visualization component 106, and logical components thereof, may beimplemented using software (e.g., C, C#, C++, Java, or a combinationthereof), hardware (e.g., one or more application-specific integratedcircuits), firmware (e.g., electrically-programmed memory) or anycombination thereof.

One or more of the components of system 100, including visualizationcomponent 106, may reside on a single system, or one or more componentsmay reside on separate, discrete systems. Further, each component may bedistributed across multiple systems, and one or more of the systems maybe interconnected.

Further, on each of the one or more systems that include one or morecomponents of system 100 and/or visualization component 106, each of thecomponents may reside in one or more locations on the system. Forexample, different portions of the components may reside in differentareas of memory (e.g., RAM, ROM, disk, etc.) on the system. Each of suchone or more systems may include, among other components, a plurality ofknown components such as one or more processors, a memory system, a diskstorage system, one or more network interfaces, and one or more bussesor other internal communication links interconnecting the variouscomponents.

System 100 and visualization component 106 may be implemented on acomputer system described below in relation to FIGS. 30 and 31.

System 100, including visualization component 106, is merely anillustrative embodiment of a system for detecting and visuallyindicating values detected over a period of time along a first dimensionof an organism. Such an illustrative embodiment is not intended to limitthe scope of the invention, as any of numerous other implementations ofa system for visually indicating values detected over a period of timealong a first dimension of an organism, for example, variations of asystem 100 and visualization component 106, are possible and areintended to fall within the scope of the invention. None of the claimsset forth below are intended to be limited to any particularimplementation of a system for visually indicating values detected overa period of time along a first dimension of an organism unless suchclaim includes a limitation explicitly reciting a particularimplementation.

Several of the visualization component 106 are described in more detailbelow. Methods that may be performed by these logical components willnow be described.

FIG. 7 is a flow chart illustrating an example of a method of visuallyindicating values detected over a period of time along a dimension to auser in real time on a temporal plot using a contour technique. In Act702, values detected during a next temporal interval may be received.For a first pass through acts 702-708, the next temporal interval may bea first temporal interval.

Next, in Act 704, for each detected value, a tone corresponding to thedetected value may be assigned to the detected value. As used herein, a“tone” may be a color or grayscale value. For example, the range ofpossible values of a detected value may be divided into a plurality ofsub-ranges, and a different tone may be delegated to each sub-range. Thenumber of sub-ranges and, consequently, the number of tones to bedelegated, may be configured based on the desired granularity of thetones visually indicated to a user. For example, if the detectedphysical property is pressure, the range of detected values may be fromnegative fifty millimeters mercury (mmHg) to two hundred mmHg. Thisrange of values may be divided into any of a number of sub-ranges, forexample, one thousand twenty-four, five hundred twelve, two hundredfifty-six, etc., with a tone delegated to each sub-range.

As will be described in more detail below, method 700 also may includeadditional acts, performed prior to Act 704, of interpolating values forone or more sensors for which values were not detected during a temporalinterval (e.g., due to sensor failure), and interpolating values forlocations between locations of sensors to increase the spatialresolution of values to be displayed. As part of Act 704, tones may beassigned to these interpolated values.

In a following Act 706, each assigned value may be visually indicated ona temporal plot in real time. For example, as described above withrespect to FIG. 6, a new frame may be displayed to the user at a rate often frames per second or greater such that each detected value isvisually indicated to the user within 0.1 seconds or less, for example,within 0.66 seconds or even less.

In Act 708, it may be determined whether there is a next temporalinterval. If there is not a next temporal interval, then method 700 mayend. If there is a next temporal interval, then method 700 may return toAct 702. Thus Acts 702-708 may be repeated until the values detectedduring each temporal interval have been visually indicated to the user.Alternatively, an instruction may be received to stop method 700, forexample, from a user.

The detected values may be values of a physical property detected over aperiod of time by sensors located at different predefined distances froma reference point along a dimension of an organism, for example, ahuman. The sensors may be located at different locations within one ormore organs of the organism, for example, within the upper GI tract,duodenum, small bowel, bile duet, colon, Sphincter of Oddi, anus,rectum, or any of the variety of other organs. The detected physicalproperty may be any of a variety of physical properties, including, butnot limited to, pressure, pH, tissue impedance, temperature, voltage,another physical property or any combination thereof.

The temporal plot on which the assigned values are displayed may have atemporal axis representing time and may have a spatial axis, oriented ororthogonally to the temporal axis, representing the dimension. If acontour technique is used, each assigned value may be indicated as atone at a spatial position of the temporal plot corresponding to thelocation of the sensor within the organism from which the detected valuecorresponding to the tone was detected.

For each temporal interval, the assigned values for the temporalinterval may be visually indicated on the temporal plot concurrently toassigned values of previous temporal intervals so that a user canobserve a history of values detected by the sensors over time.

In an embodiment of method 700, prior to each performance of Act 706 fora temporal interval, the temporal position of the coordinate at whicheach tone from previous temporal intervals is visually indicated may beshifted in a first direction by an amount corresponding to a duration ofeach temporal interval. This shifting of temporal positions results inthe user perceiving the visual indications of the values as moving inthe first direction along the temporal axis of the temporal plot (e.g.,right to left). This technique of shifting the temporal position of atone to be indicated to a user so that the user perceives the assignedtones as moving in a first direction along the temporal plot is referredto herein as a moving contour technique. A temporal plot on which amoving contour technique is being employed is referred to herein as amoving contour plot.

Acts 702-706 may be performed at a predefined rate (e.g., ten hertz ormore, for example, fifteen hertz, or even greater) such that a userperceives the repeated performances of Acts 702-706 as being temporallycontinuous, as opposed to being temporally discrete. In other words, auser will observe a smooth transition between temporal intervals asopposed to observing a choppy transition between temporal intervals.

Further, for consecutive temporal intervals, the values detected duringone of the consecutive temporal intervals may be visually indicated at apredefined proximity to the values detected during the other of theconsecutive temporal intervals such that a user perceives the visualindications of the values of the consecutive sets as being spatiallycontinuous along the temporal axis.

It should be appreciated that although method 700 is described aboveprimarily in relation to visually indicating values in real time, themethod 700 may be applied analogously to visually indicating detectedvalues post hoc.

Further, many of the aspects of the invention described with respect tovisually indicating values detected over a period of time on a temporalplot using a contour technique also apply to visually indicating thedetected values on a profile plot using a contour technique, or oneither the temporal plot or the profile plot using any of a variety ofthe techniques described herein.

FIG. 8 is an example of a temporal plot 800 visually indicating valuesdetected over a period of time using a contour technique in real time orpost hoc. Plot 800 may be a moving contour plot. Such plot may begenerated by one or more logical components of visualization component106, including temporal plot component 608.

Moving contour plot 800 may include a temporal axis 802 representingtime and a spatial axis 804 representing a distance along a dimension ofan organism. These axes may not actually be displayed on temporal plot800, but are used herein for illustrative purposes. The plot 800 mayinclude a tone key 806 indicating the tones delegated to sub-rangesbetween a low threshold 808 and a high threshold 810. The plot 800 alsomay include a sub-period indicator 818 indicating to a user the durationof time delimited by sub-period delimiters 112.

Plot 800 also may include temporal duration indicator 814, whichindicates the duration of time being displayed on plot 800. Indicator814 may be configured as a control of a GUI that enables a user tochange the displayed duration of time, which changes the temporaldensity of the information visually indicated along temporal axis 802.In response to changing the value of the temporal duration usingtemporal duration indicator 814, sub-period delimiters 812 andsub-period indicator 818 may be changed accordingly.

Plot 800 may include spatial indicators 820, where each spatialindicator indicates a location along a dimension in the organism from areference point (e.g., an end of a probe, e.g., catheter) with respectto the spatial axis 804.

The values detected during a plurality of temporal intervals may bevisually indicated as tones on plot 800. For example, spatial range 822illustrates a range along the dimension within the organism for whichthe detected values vary consistently over a period of approximatelytwenty-five seconds. In an aspect of plot 800, values detected during atemporal interval may be controlled to move from right to left alongtemporal axis 816. In this aspect, the values detected during a temporalinterval may be first visually indicated on plot 800 at a temporalposition along the temporal axis 802 nearest to temporal origin 816(e.g., a column of pixels of a display screen closest to the origin816). The location along the dimension at which a visually indicatedvalue was detected can be determined with reference to the sensorlocation 820 along the spatial axis 804, for example, if the sensors arespaced a predefined distance apart from one another, for example, one cmas described above with respect to FIG. 2. In the aspect illustrated byplot 800, sensor location indicators 820 indicate that there are atleast thirty-six sensors from which values may be detected.

FIG. 8 may be a temporal plot of pressure values detected along an upperGI tract (e.g., pressure resulting from contact with the tissue of theupper GI tract) of a human while a human is swallowing water or anotherfluid. As can be seen in plot 800, there is a relatively continuous highpressure in a location of the upper GI tract approximate to sensor “6”.This location may be the location of the UES. Further, relatively highpressure indications descend down the upper GI tract over a period time.This pressure may correspond to muscle contractions along the upper GItract that occur as the liquid is swallowed.

Temporal plot 800 may include additional features such as thosedescribed below in relation to FIG. 11.

Although method 700 is described above with respect to visuallyindicating values on a temporal plot, a similar method may be applied tovisually indicate detected values on a profile plot. For example, eachdetected value may be visually indicated using an assigned tone on aprofile plot having a spatial axis, at a spatial position relative tothe spatial axis that corresponds to the location of a sensor from whichthe detected value was detected. Thus, values detected by sensors alonga dimension of an organism over time may be visually indicated on aprofile plot using a contour technique. In contrast to displaying valueson a temporal plot using a contour technique, on a profile plot, onlyvalues detected during a single temporal interval may be visuallyindicated at any given time. In other words, values detected duringdifferent temporal intervals may not be displayed concurrently.

FIG. 9 is an example of a profile plot 910 visually indicating valuesdetected over a period of time using a contour technique. Profile plot910 may include any of spatial axis 911, tone bar 914, tone key 922, andone or more anatomical landmark location indicators, including any ofUES indicator 916, LES indicator 918, LES upper margin indicator 917,LES lower margin indicator 919 and PIP indicator 920. Although usedherein to illustrate profile plot 910, spatial axis 911 may not actuallybe visually indicated as part of profile plot 910.

Similar to as described above with respect to temporal plot 800, spatialindicators 912 may indicate a location along a first dimension of anorganism relative to spatial axis 911. Tone bar 914 includes the visualindications of the values detected by the sensors using a tonecorresponding to the detected value. The spatial position relative tothe spatial axis 911 of each tone indicated along tone bar 914corresponds to the location at which the value corresponding to the tonewas detected or the location corresponding to an interpolated valuecorresponding to the tone.

The thickness of tone bar 914 may not correspond to any physicalproperty, but may be configured as desired to provide visual clarity.The values visually indicated along tone bar 914 may be updated eachtime a frame is transmitted to the graphical interface that displaysprofiled plot 910.

It should be appreciated that not every temporal interval may have itsvalues visually indicated on a profile plot such as profile plot 910. Asdescribed above, the rate at which values are detected by the sensorsmay be higher than the rate at which the GUI is refreshed, and the GUImay be refreshed with the most current information. Accordingly, in oneaspect, only values detected during temporal intervals that are mostrecent temporal intervals before a GUI refresh may be visually indicatedon a profile plot, and values detected during other temporal intervalsmay not be visually indicated on the profile plot. Alternatively, therate of detection and rate of display refresh may be approximately thesame, such that the values detected during all temporal intervals may bevisually indicated on a profile plot.

Each of the anatomical landmark identifiers (i.e., landmark identifiers)916-920 may visually indicate a spatial position along spatial axis 911that corresponds to a location along a first dimension within anorganism (e.g., along an upper GI tract) at which an anatomical landmarkis located. Each landmark location identifier 916-920 may include alandmark identifier 946-950, respectively. Each location identifier mayindicate an identifier of the landmark and also may indicate a numericalvalue representing either a nearest sensor to the determined location ofthe landmark or the location itself of the anatomical landmark. Forexample, UES location identifier 916 has a landmark identifier 946 thatidentifies the UES and indicates that the location of the UES is closestto sensor “7.” Alternatively, the landmark identifier 946 may indicatethe location itself of the UES, with a value such as “7.1,” which maymean 7.1 centimeters along the dimension of the organism from areference point.

In an aspect of displaying landmark identifiers on a profile plot, thetype of numerical value (e.g., the closest sensor or the locationitself) may be selectable, for example, by a user. Accordingly, profileplot 910 may include a control that enables a user to select which typeof numerical value will be indicated. In the profile plot 910illustrated in FIG. 9, each landmark identifier displays a numericalvalue representing the closest sensor.

Thus, LES location identifier 918, including LES identifier 948,indicates that the LES is located at a location within the upper GItract for which the closest sensor is sensor “30.” LES upper marginlocation identifier 917, including LES upper margin identifier 947,indicate that, for the location of the LES upper margin, the closestsensor is sensor “28.” LES lower margin location identifier 919,including LES lower margin identifier 949, indicate that, for thelocation of the lower margin identifier, the closest sensor is sensor“32.” PIP location identifier 920, including PIP identifier 950,indicate that, for the location of the PIP within the upper GI tract,the closest sensor is sensor “31.”

As will be described in more detail below in relation to FIG. 15, for adisplay including a profile plot and a temporal plot using a contourtechnique, one or more landmark identifiers may extend from a spatialposition along the spatial axis of the profile plot across the temporalplot at a corresponding spatial position along the spatial axis of thetemporal plot. Further, a user may be provided the ability to move thespatial position of a landmark location identifier and landmarkidentifier, for example, by clicking and dragging using a mouse, as willbe described in more detail below.

FIG. 10 is a flow chart illustrating an example of a method 900 ofvisually indicating values detected over a period of time along adimension on a temporal plot and a profile plot concurrently, in realtime or post hoc. In Act 902, values detected during a next temporalinterval (e.g., a first temporal interval) may be received, for example,by a visualization component, from a detection component or a recordingmedium.

Next, in Act 904, the detected values may be visually indicted on atemporal plot using any of a variety of techniques, for example, any ofthe techniques described herein.

In Act 906, the detected values may be visually indicated on a profileplot using any of a variety of techniques including any of thosedescribed herein, concurrently to visually indicate that the detectedvalues on a temporal plot. Acts 904 and 906 may be performed in realtime.

Next, in Act 908, it is determined whether there is a next temporalinterval. If there is not a next temporal interval, then method 900ends, else, method 900 returns to Act 902.

In an aspect of method 900, the temporal plot and the profile plot maybe horizontally (i.e., laterally) aligned with respect to one another(i.e., side-by-side) and the spatial axes of the temporal plot andprofile plot may be parallel. The spatial axes of the temporal plot andthe profile plot both may be oriented vertically on a GUI presented to auser, whether visually indicated in real time or post hoc. Further, thetemporal axis of the temporal plot may be oriented horizontally.

FIG. 11 is an example of a display 1000 including a temporal plot 1002and a profile plot 1004 on which values detected over a period of timealong a dimension are visually indicated, concurrently, in real time orpost hoc. Display 1000 may be generated by a plurality of the logicalcomponents of visualization component 106, as is described in moredetail below.

Although FIG. 11 illustrates visually indicating the values on thetemporal plot using a line trace technique and visually indicating thevalues on the profile plot using a line trace technique, this aspect ofthe invention is not limited to such combination, as either of thetemporal plot and profile plot may visually indicate the detected valuesusing any of a variety of techniques, for example, any of the variety oftechniques described herein. It should be appreciated that, in anembodiment, display 1000 may include only temporal plot 1002 or mayinclude only profile plot 1004.

As illustrated in FIG. 11, when visually indicating detected values on atemporal plot 1002 using a line tracing technique, it may be desirableto display line traces 1009 of values detected from only a subset of thesensors located within the organism. Visually indicating values detectedfrom only a subset may be desirable because, as the number of sensorsfor which values are displayed using a line tracing technique increases,the lack of visual clarity to a user also increases. For example, ontemporal plot 1002, only eight line traces are displayed.

When values are visually indicated from only a subset of sensors, it maybe desirable to provide a user with information regarding each sensor ofthe subset for which values are being visually indicated.

Accordingly, a display panel may be associated with each sensor of thesubset for which values are being visually indicated on temporal plot1002. For example, a display panel 1031 may be provided for line trace1025. Panel display 1031 may include a sensor identifier 1033, a sensorswatch 1029, a normalizing toggle button 1030, a high thresholdindicator 1027, a baseline value indicator 1026, and a value indicator1028.

Sensor identifier 1033 indicates that line trace 1025 corresponds tosensor 34. Sensor swatch 1029 indicates a tone used to visually indicateline trace 1025. Thus, the sensor swatch 1029 assists a user inassociating a sensor display panel with its corresponding line trace.Further, profile plot may include sensor location indicators 1018, whichmay include a displayed sensor location indicator 1032 corresponding tosensor “34” for which values are visually indicated by line trace 1025.Accordingly, sensor location indicator 1032 may comprise a tone that isthe same as the tone of sensor swatch 1029 and line trace 1025.

Normalizing toggle button 1030 may enable a user to toggle betweenvisually indicating values on line trace 1025 using absolute values orvisually indicating values on line trace 1025 using values normalizedwith respect to all of the line traces 1009. Normalizing the values maybe beneficial for a clearer visual indication of the line traces 1009 toa user, whereas visually indicating absolute values may be beneficial tothe user because the actual value detected by a sensor over a period oftime is conveyed to a user.

Baseline value indicator 1026 indicates a value represented by base line1035 for line trace 1025. As described above, if visually indicatingdetected values on a temporal plot using a line trace technique, thevalues are indicated as an offset from a baseline corresponding to thesensor at which the values were detected. For example, line trace 1042is represented as an offset 1044 from baseline 1046, where theinformation corresponding to this line trace 1042 is visually indicatedon sensor display panel 1048.

High threshold indicator 1027 indicates a high threshold for valuesvisually represented by line trace 1025. In other words, althoughdetected values may exceed the high threshold indicated by highthreshold indicator 1027, line trace 1025 will only display values up tothe high threshold.

Value indicator 1028 indicates the value currently being visuallyindicated by line trace 1025 at a particular temporal position along thetemporal axis of temporal plot 1002. This particular temporal positionmay be the temporal axis origin 1050 or another temporal positionspecified by a user, for example, as described below in relation to FIG.25.

Profile plot 1002 may include spatial position indicators 1016,displayed channel location indicators 1018, line trace 1014, landmarklocation identifiers 170-174 and corresponding landmark identifiers1020-1024, respectively, baseline value indicator 1034, high thresholdindicator 1036 and value control.

Spatial position indicators 1016 indicate a distance along the spatialdimension from a reference point. Displayed sensor indicators 1018visually indicate to a user the spatial location of a sensor for whichvalues are being visually indicated on temporal plot 1002 relative to aspatial position along the spatial axis of profile plot 1004. Asdescribed above in relation to displayed sensor indicator 1032, eachdisplayed sensor indicator 1018 may be displayed as a tone correspondingto a tone used to visually indicate one of line traces 1009 to indicateto a user the line trace 1009 to which each displayed sensor indicator1018 corresponds.

On a profile plot, for example, profile plot 1004, on which visuallyindicated values are being displayed using a line trace technique, eachvalue detected during the temporal interval being displayed on theprofile plot 1004 may be displayed as an offset along a value axis 1012from a baseline 1010. It should be appreciated that value axis 1012 maynot actually be visually indicated as profile plot 1004, but is usedherein for illustrative purposes. As will be described in more detailbelow, values may be interpolated for locations between locations ofsensors, and these values may be displayed as an offset from baseline1010 along value axis 1012. Further, each value, whether detected orinterpolated, displayed on line trace 1014 may be displayed at such aproximity to a nearest other visual indication that line trace 1014 isperceived by a user as a continuous line.

In an aspect of visually indicating values detected along a spatialdimension on a temporal plot using a line tracing technique and on aprofile plot, a user may be enabled to select the sensors for whichvalues will be visually indicated in temporal plot 1002, for example, byselecting one of the displayed sensor indicators 1018 and dragging it toa new spatial position along the spatial axis of profile plot 1004.Alternatively, the user may be enabled to select the sensors by othermeans, for example, a keyboard. Accordingly, if a user clicks on anddrags a displayed channel indicator 1018 to a new spatial position alongthe spatial axis of profile plot 1004, the corresponding line trace 1009will change to visually indicate the values detected by the sensor atthe location corresponding to the spatial position to which the userdrags the displayed sensor indicator. Consequently, all of theinformation of the sensor display panel (e.g., 1031 or 1048) may beupdated accordingly.

Value control 1032 may provide a user the ability to selectably controlthe value (e.g., numerical value) visually indicated by landmarkidentifiers of landmark location identifiers. For example, the valuecontrol 1032 may enable a user to select that this value be the actualdetermined location of the anatomical landmark or the location of asensor nearest to the determined location of the anatomical landmark.

In an aspect of the invention, landmark identification component 622 ofvisualization component 106 may be configured to generate one or morelandmark location identifiers. For example, the landmark identificationcomponent 622 may receive input from landmark location determinationcomponent 632, described below in more detail, and user input, forexample, user input 604. Based on these received inputs, the landmarkidentification component may generate information for displaying alandmark location identifier (including a landmark identifier) andoutput such information to one or more other components of visualizationcomponent 106, for example, profile plot component 610 and/or framedisplay controller 612. Further, the landmark identification component622 may be configured to output information to the temporal plotcomponent 608, for example, so that the temporal plot may visuallyindicate a spatial location identifier for an anatomical landmark, forexample, as described below in more detail in relation to FIG. 15.

Returning to FIG. 11, baseline value indicator 1034 indicates the valuerepresented by baseline 1010. High threshold indicator 1036 indicates athreshold value that will be indicated by profile plot 1004.Accordingly, if a value detected during a temporal interval exceeds thehigh threshold, such value will not be displayed on profile plot 1004.For example, line trace 1014 may be clipped at the one or more spatiallocations corresponding to values that exceed the high threshold.

It should be appreciated that the several aspects of the inventiondescribed above in relation to visually indicating detected values ontemporal plot 1002 and profile plot 1004 concurrently may apply totemporal plots and profile plots that visually indicate values using anyof a variety of techniques, for example, those techniques describedabove. Further, aspects described with respect to plots 1002 and 1004being displayed concurrently, may apply to a contour plot or a profileplot being visually indicated alone, without the other type of plot.Further, the aspects described above with respect to plots 1002 and 1004may be combined with various other aspects described herein.

FIG. 12 is a flow chart illustrating an example of a method 1100 oftoggling between visually indicating values detected over a period oftime on a plot in a first mode (e.g., contour mode or line trace mode)and visually indicating the values on the plot in a second mode (e.g.,line trace mode or contour mode).

In Act 1102, for sequential temporal intervals, the values detectedduring each temporal interval may be visually indicated on a plot in afirst mode, for example, a contour mode or a line trace mode. In Act1104, input may be received from a user indicating to change the modeused to visually indicate values on the plot. For example, display 1000may include a mode button 1034 and/or a mode button 1023 which allow auser to indicate to change the mode being used to visually indicatevalues on temporal plot 1002 and profile plot 1004, respectively.

In Act 1106, in response to receiving the user input, the mode used tovisually indicate values detected during each temporal interval may bechanged, for example, from contour mode to line trace mode or viceversa.

FIG. 13 is a flow chart illustrating an example of a method 1200 ofconcurrently visually indicating detected values, anatomical landmarksand an anatomical image on a plot, for example, a profile plot. Theanatomical image may include at least portions of one or more organs,for example, a pharynx, UES, esophagus, LES, stomach, duodenum, colon,small bowel, sphincter of Oddi, anus or rectum.

In Act 1202, for sequential temporal intervals, values detected duringeach temporal interval are received, where, for each temporal interval,each value of the temporal interval was detected at a different distancealong a dimension of an organism.

In Act 1204, the locations of one or more anatomical landmarks withinthe organism are determined based on the value detected during thesequential temporal intervals. As used herein, an anatomical landmark isa physically significant location within an anatomy. For example, in theupper GI tract, anatomical landmarks may include the LES, the upper andlower margins of the LES, the UES and the PIP. Determining the locationsof one or more anatomical landmarks is described below in more detail inrelation to FIGS. 16-21.

Optionally, in Act 1206, an anatomical image may be configured based onthe determined locations of one or more anatomical landmarks. Forexample, the anatomical image may have a basic default structure thatcan be altered based on determined locations of one or more anatomicallandmarks. For example, if the anatomical image is an image of an upperGI tract, the anatomical image may include a pharynx, UES, esophagus,LES and stomach. The width of the pharynx, UES, LES and stomach in theanatomical image may remain fixed. Further, the length of the stomachand the UES may remain fixed in the anatomical image. The position ofthe pharynx, the UES and the stomach and the length of the esophagus andthe LES may be configured, however, based on the determined locations ofone or more anatomical landmarks, for example, the UES, the LES, theupper margin of the LES and the lower margin of the LES.

In Act 1208, for each sequential temporal interval, the values detectedduring the temporal interval may be visually indicated on a profileplot, for example, using a contour technique or line tracing technique.

In Act 1210, concurrently to visually indicating the detected values onthe profile plot, the locations of one or more anatomical landmarks maybe visually indicated on the profile plot.

Optionally, in Act 1212, concurrently to visually indicating thedetected values and the locations of one or more anatomical landmarks,the anatomical image may be visually indicated on the profile plot. Forexample, the detected values and the locations of the anatomicallandmarks may be superimposed on the anatomical image. Alternatively, oradditionally, the anatomical image could be visually indicatedelsewhere, for example, on a temporal plot or proximate to the profileplot.

In an aspect of method 1200, the anatomical image may be displayedconcurrently with the detected values on a profile plot, but nolocations of anatomical landmarks may be visually indicated. Further,alternatively, the anatomical image may be displayed concurrently withone or more anatomical landmarks on a profile plot, but no detectedvalues may be visually indicated, for example, during a temporalinterval for which no values have been detected.

FIG. 14 is an example of a profile plot 1420 on which a line trace 1422of detected values, landmark location identifiers 1424, 1426, 1427, 1428and 1429 including corresponding landmark identifiers 1454, 1456, 1457,1458 and 1459, and an anatomical image 1430 are concurrently visuallyindicated. Profile plot 1420 may be generated by a plurality of logicalcomponents of visual component 106, as will be described in more detailbelow.

Although the detected values 1422 are visually indicated using a linetrace technique, other techniques may be used, such as a contourtechnique or histogram technique. The values 1422 may be values detectedduring a temporal interval, where a plurality of sensors located atdifferent distances along the GI tract of a human.

The landmark location identifiers may include a UES location identifier1424, a PIP location identifier 1426, an LES location identifier 1428,an LES upper margin identifier 1427 and an LES lower margin identifier1429.

The plot 1420 also may include anatomical image 1430 which illustrates apharynx 1432, a stomach 1434, the esophagus 1436, the UES 1433 and theLES 1431.

In an aspect of visually indicating landmark location identifiers to auser, the profile pot 1420 may be part of a GUI that enables a user tomanual select and relocate the location of one or more of the landmarklocation identifiers, for example, by clicking and dragging one or moreof the landmark location identifiers using a mouse. This may be helpfulfor a user that has enough knowledge about the anatomy (e.g., aphysician) to make judgments about the proper location of a landmark.Such user can move the landmark location identifier to a spatialposition at which the user believes the anatomical landmark representedby the identifier is located based on the user's interpretation of thevisual display of the detected values on the profile plot and/or on atemporal plot.

Accordingly, in an aspect of visually indicating landmark locationidentifiers, the locations of the landmark location identifiers may bedetermined automatically, as described below in relation to FIGS. 16-21,manually, or a combination thereof. A GUI may provide a user the abilityto select between automatic or manual determination of the location ofone or more anatomical landmarks and to toggle between the two, post hocor in real time.

A profile plot that concurrently visually indicates detected values,landmark location identifiers and/or an anatomical image may be visuallyindicated concurrently with a temporal plot visually indicating at leasta subset of the detected values, in real time or post hoc.

FIG. 15 is an example of a display 1550 including a profile plot 1554that includes visual indications of detected values, landmark locationidentifiers and an anatomical image. Display 1550 also includes a movingcontour plot 1552 that visually indicates the detected values. Display1550 may be generated by a plurality of the logical components includedin visualization component 106, as will be described in more detailbelow.

The values visually indicated in moving contour plot 1552 and profileplot 1554 may be values detected over a period of time from a pluralityof sensors located along the upper GI tract of a human while the humanis at rest (e.g., just breathing regularly, not swallowing, coughing,gagging). As can be seen from the peaks of the line trace 1555 inprofile plot 1554 and the brighter tones visually indicated alongspatial lengths 1560 and 1562 of the moving contour plot, higherpressure is detected around the UES and the LES.

Accordingly, it may be desirable to determine the location of anatomicallandmarks along the upper GI tract by detecting the values over a periodof time while the subject (e.g., a human) is at rest. Making thedetermination at rest may be more desirable because the pressuredetected at the UES, LES and along the esophagus do not fluctuatesignificantly as they do when the subject is swallowing, for example, asillustrated in FIG. 8.

As can be seen in FIG. 8, when a subject is swallowing, a pressure wavedescends down the esophagus over time. As will be described in moredetail below in relations to FIGS. 16-21, determining the location ofanatomical landmarks may depend on determining local maximums ofpressure detected along the upper GI tract. Accordingly, thesedeterminations may be skewed if the positions of local maximums changeover time as illustrated in FIG. 8.

Thus, after the location of one or more anatomical landmarks has beendetermined while the subject is at rest, it may be desirable to leavethe visual indication of these locations unchanged by disabling theability to determine the location of one or more anatomical landmarks.Accordingly, when values are then detected for a specific event, such asswallowing or coughing, the determined locations of the one or moreanatomical landmarks will not be skewed.

As discussed above, in an aspect of the invention, display 1550 may bepart of a GUI that enables a user to click and drag on any of thelandmark location identifiers, for example, UES identifier 1555, LESidentifier 1556, LES upper margin identifier 1561, LES lower marginidentifier 1563 and PIP identifier 1557. Further, the GUI may beconfigured such that when a user clicks on (and possibly drags) alandmark location identifier, a spatial location identifier of theanatomical landmark may be displayed on the moving contour plot 1552.Alternatively, such spatial location identifier continually may bedisplayed on the moving contour plot 1552. For example, LES spatiallocation identifier 1558 may be displayed continually on moving contourplot 1552 or may be displayed in response to a user clicking on and/ordragging LES identifier 1556.

FIG. 16 is a flow chart illustrating an example of a method 1300 ofdetermining the location of an anatomical landmark along a dimension ofan organism. For the description of FIGS. 16-22, each “channel”represents a series of values detected at a respective sensor over time.

In Act 1302, for each channel, a sum-based value of the channel for aperiod of time may be determined. The sum-based value of a channel maybe the sum of all values of the channel detected over a period of time,the average value detected on the channel over a period of time (i.e.,the sum divided by the number of temporal intervals), or another valuederived from the sum, for example, a normalized value. In an examplewhere the sum-based value is an average, the average may be determinedbased on the following equation:

$\begin{matrix}{A_{Ci} = {\sum\limits_{j = 1}^{N}{C_{i,j}/N}}} & {{Equation}\mspace{14mu} 1}\end{matrix}$

where A_(Ci) is the average determined for the ith channel, N is thenumber of values detected for the given channel, and C_(i,j) is the jthvalue of the ith channel.

In a next Act 1304, a function defining values as a function of distancemay be generated based on the sum-based values. The function could begenerated using any of a variety of techniques, for example, using knowncurve fitting techniques such as cubic spline interpolation.

As an alternative to performing Acts 1302 and 1304, where sum-basedvalues for each channel are determined and then a function generatedbased on these sum-based values, these steps may be essentially reversedas follows. For each channel, a function may be generated defining thevalues of the channel as a function of time, and then an average valuemay be determined for each channel by integrating the defined functionover a period of time. The location of the anatomical landmark then maybe determined based on the averages determined for each channel.

In Act 1306, the position of a local maximum of the function (e.g., in aregion local to the esophagus) may be determined. For example, theposition of the local maximum may be determined by performing apoint-by-point comparison of values generated from the function atdifferent spatial positions or by using well-known techniques based onto determining the derivative of the function. This determined positionmay serve as the location of the anatomical landmark along a dimensionof an organism.

The determined function may have more than one local maximum. Thus, Act1306 may include determining a position of a first local maximum withina predefined spatial range. This predefined spatial range may bedetermined based on knowledge of the portion of the organism from whichthe values are being detected. For example, the values may be detectedfrom the upper GI tract of a human from a detection system including acatheter and a plurality of sensors embedded therein or attachedthereto. Thus, method 1300 may be applied to determine the position ofthe UES or LES. For the UES, the predefined range may be from five toten cm from a reference point, and for the LES, the predefined range maybe from twenty-five to thirty-five cm from the reference point. Thecatheter may be inserted at a proximal depth within the upper GI tractbased on knowledge of the general position of the UES and LES within theupper GI tract.

As an alternative to Acts 1304 and 1306, the location of the anatomicallandmark may be determined by selecting a channel within a spatial rangethat has the highest determined stun-based value. The spatial range maybe predetermined based on knowledge of the portion of the organism fromwhich the values are being detected.

FIG. 17 is a display 1700 illustrating an example of line trace plots ofvalues detected from a plurality of channels (corresponding to sensors)1708, 1710, 1712, 1714, 1716, 1718 and 1720 on a temporal plot having aspatial axis 1704 and a temporal axis 1702. The visually indicatedvalues may have been detected along a dimension of an upper GI tract ofa subject while the subject was at rest. As can be seen, for eachchannel, the detected values may be cyclical in nature, having a cycle1706 corresponding to a respiratory cycle of the subject.

FIG. 18 is an example of a sum-based plot 1800 having a spatial axis1804 and value axis 1802, including visual indications of the determinedsum-based values 1808, 1810, 1812, 1814, 1816, 1818 and 1820 determinedfor channels 1708, 17010, 1712, 1714, 1716, 1718, 1720, respectively.Plot 1800 includes a line trace 1822 of function values produced byapplying a function generated based on the sum-based values 1808-1820.The position of the first local maximum of the determined function maybe indicated at location 1823. Alternatively, the position of theanatomical landmark may be determined based on the sum-based valuesthemselves, in which case the position of the anatomical landmark may beat the location corresponding to sum-based value 1814.

FIG. 19 is a flow chart illustrating an example of a method 1400 fordetermining the spatial position and length of an anatomical landmark ofan organism based on values detected over a period of time from anorganism. Acts 1402-1406 may be performed as described above for Acts1302-1306, respectively. In an aspect of method 1400, where the positionand length of an LES of a human is being determined, Act 1406 mayinclude determining a position within a predefined spatial range withinwhich it is known the LES resides. Alternatively, the position of thelocal maximum in Act 1406 may be determined by selecting from aplurality of local maximums determined in Act 1404, a local maximum ofthe function determined at a furthest distance from a reference point(i.e., the spatially last local maximum), or a local maximum occurringwithin a certain predefined distance from where a local maximum of theUES is determined.

In Act 1408, a first position, located before (i.e., located closer to areference point) the location of the determined local maximum, at whicha value of the function crosses a predetermined threshold may bedetermined. For example, a location within a predefined vicinity of thelocal maximum, at which a function crosses a predefined threshold andhas a positive slope, may be determined or, a last (i.e., furthest froma reference point) crossing of the threshold before the determined localmaximum may be determined. For example, referring to FIG. 18, where thedetermined local maximum is located at position 1822, the first positionat which function 1822 crosses a predefined threshold may be determinedas spatial position 1824.

In Act 1410, a second position, located after (i.e., further from areference point) than the location of the determined local maximum, atwhich a value of the function crosses a predetermined threshold may bedetermined. For example, Act 1410 may include determining a positionwithin the vicinity of the determined local maximum at which the valueof the function crosses the predetermined threshold and has a negativeslope, or may include determining a last position occurring after thesecond local maximum at which the value of the function crosses thepredetermined threshold.

For example, referring to FIG. 18, it may be determined that the valueof the function defined by line trace 1822 crosses the predeterminedthreshold after location 1822 at spatial position 1826.

In Act 1412, a difference between the first position and the secondposition may be determined to produce a length of an anatomicallandmark, for example, an LES. For example, referring to FIG. 18, thedifference between first position 1824 and second position 1826 may bedetermined to be length 1828, which serves as the length of the isanatomical landmark.

FIGS. 20A and 20B comprise a flow chart illustrating an example of amethod 1500 for determining a position of a PIP within the upper GItract of a human based on values detected along the upper GI tract overa period of time.

In Act 1502, a position and length of the LES are determined, forexample, as described in method 1400.

In Act 1504, for each channel within a predefined proximity to thedetermined location of the LES, for each value detected for the channel,the value may be subtracted from the average value of the channel toproduce an average-normalized value for the value. For example, if theaverage of each channel was determined by application of Equation 1above, the normalized average of each value of a channel may bedetermined by application of the following equation:

AN _(if) =C _(ij) −A _(Ci)  Equation 2:

where AN_(if) is an average-normalized value determined for the jthvalue of the ith channel, C_(ij) is the jth value of the ith channel andA_(Ci) is the average value of the ith channel.

In a next Act 1506, it may be determined which channel within apredefined proximity to the LES has a highest root-sum-squared (RSS)amplitude based on the average-normalized values determined for thevalues of each channel. The RSS of each channel within the proximity maybe determined by application the following equation:

$\begin{matrix}{{RSS}_{i} = {{sqrt}\lbrack {\sum\limits_{j = 1}^{N}( {AN}_{i,j} )^{2}} \rbrack}} & {{Equation}\mspace{14mu} 3}\end{matrix}$

where RSSi is the determined RSS of an ith channel, N is the number ofvalues detected for the ith channel, and AN_(ij). is theaverage-normalized value for an jth value of the ith channel. Thechannel with the greatest RSS amplitude may be referred to as the mthchannel.

In a next Act 1508, a correlation measure may be determined between eachchannel and the channel determined in Act 1506. Any of a variety oftechniques may be used to determine this correlation measure, forexample, application of equation 4:

$\begin{matrix}{{CM}_{i} = {\sum\limits_{j = 1}^{N}{{AN}_{ij}{AN}_{mj}}}} & {{Equation}\mspace{14mu} 4}\end{matrix}$

where CM_(i) is the correlation measure of the ith channel, AN_(ij). isan average-normalized value for the jth value of the ith channel andAN_(mj) is an average-normalized value of the mth value of the channeldetermined in Act 1506.

In Act 1510, a correlation measure function may be generated definingcorrelation as a function of position based on the correlation measuresdetermined for each channel in Act 1508. For example, knowncurve-fitting techniques may be employed to generate the function.

In Act 1512, one or mare zeros of the correlation measure function maybe determined using known techniques for determining zeros of afunction.

Next, in Act 1522, it may be determined whether there is more than onezero.

If there is not more than one zero, then in Act 1523, the PIP isidentified as the position at which the zero was determined.

If it is determined that there is more than one zero, then in Act 1524,for each determined zero, a slope at the position of the zero isdetermined, and in Act 1526, the slope with the maximum magnitude may bedetermined.

In Act 1528, the position of the PIP is identified as the position atwhich the zero having the slope with the maximum magnitude wasdetermined.

FIG. 21 includes a correlation measure plot 2100 having a spatial axis2102 and a correlation measure axis 2104. The correlation measuresillustrated in FIGS. 21: 2108, 2110, 2112, 2114, 2116, 2118 and 2120,may correspond to channels 1708, 1710, 1712, 1714, 1716, 1718 and 1720of FIG. 17. As illustrated by the line trace 2122 of the correlationmeasure function, the correlation measure function has a zero atlocation 2124.

Any of a variety of other techniques may be used to determine thelocation of a PIP. For example, Fast Fourier Transformations based on afirst and second harmonic of the respiratory frequency of the subjectbeing examined may be employed to determine the location of the PIP.

The location of anatomical landmarks may be determined using valuesdetected over a fixed time frame or for a sliding time frame. Forexample, for a three hundred second period during which values aredetected, a fixed time frame may be set at thirty seconds such that thelocation of one or more anatomical landmarks may be determined at theend of each thirty second interval for the previous thirty seconds ofdetected values. Alternatively, for a same time period, a sliding timeframe may be employed such that the location of one or more anatomicallandmarks is determined for overlapping thirty second interval withinthe three hundred seconds. In other words, the location of one or moreanatomical landmarks may be determined for intervals from zero to thirtyseconds, one to thirty-one seconds, two to thirty-two seconds, twohundred seventy one to three hundred seconds, etc.

The sliding time frame technique may be preferred if it is desirable tohave the determined locations of the anatomical landmarks updatedcontinually. This continual updating may be beneficial if the sensorsthat are detecting the values are moving over time.

As described above, the plurality of sensors that detect values overtime each may be separated from a nearest sensor by a predefineddistance, for example one cm. Thus, if the location from which thevalues are being detected and the location of the one or more sensorsremains fixed, then the spacing between the sensors, for example, onecm, defines the spatial resolution of the determined location of one ormore anatomical landmarks. To effectively increase the spatialresolution of the determined locations, values may be detected over afirst period of time, and then the sensors may be moved a predefineddistance that is less than the spacing between the sensors, for example,½ cm for sensors that are spaced one cm apart. After the sensors havebeen moved, values may be detected by the sensors over a second periodof time. Methods 1300, 1400 and/or 1500 then may be performed on thecombined set of values detected during both periods. By applying thistechnique, the spatial resolution of the determined locations of one ormore anatomical landmarks may be increased, resulting in a more accuratedetermination of the location of the one or more anatomical landmarks.

In an aspect of the invention, the landmark location determinationcomponent 632 of visualization component 106 may be configured todetermine the location of one or more anatomical landmarks, for example,as described above in relation to FIGS. 16-21. The landmark locationdetermination component 632 may be configured with an input to receivedetected values, for example, detected values 602, and with an input toreceive user input, for example, user input 604. Based on these inputs,the landmark location determination component may determine thelocations of one or more anatomical landmarks and output thesedetermined locations to one or more other logical components ofvisualization component 106, for example, landmark identificationcomponent 622, temporal plot component 608, profile plot component 610,and/or frame display controller 612.

The landmark location determination component may include summing logicto sum the values of a channel detected over a period of time, averaginglogic to determine an average value of values detected by a channel overa time, a function generator to generate a function defining values as afunction of distance based on determined sum-based values, local maximumlogic to determine local maximums based on sum-based values, thresholdcrossing logic to determine when values generated by a function cross apredetermined threshold, average-normalized value logic to generateaverage-normalized values as described above, RSS logic to determine aroot-sum-squared amplitude of a channel and compare it to theroot-sum-squared amplitudes of other channels to determine which channelhas a highest root-sum-squared amplitude, correlation measure logic todetermine a correlation between channels and to determine a correlationmeasure function as described above, zero determining logic to determinethe zero of a correlation measure function and any of a variety of otherlogical components.

As described above in relation to FIG. 11, when detected values arevisually indicated on a temporal plot using a line tracing technique, itmay be desirable to display values detected from only a subset of thesensors. In an embodiment of visually indicating values detected from asubset of sensors on a temporal plot, the sensors for which to displaydetected values may be determined based on one or more distances definedrelative to one or more anatomical landmarks.

FIG. 22 is an example of a method 2200 of visually indicating valuesdetected by a subset of sensors on a temporal plot (e.g., using a linetracing technique) based on one or more distances defined relative toone or more anatomical landmarks. In Act 2202, one or more distancesrelative to one or more anatomical landmarks are received for which todisplay values detected at sensors located at the received distances.

In Act 2204, the sensors located at the one or more received distancesare determined, and in Act 2206, the values detected by the determinedsensors are visually indicated on the temporal plot, for example, usingthe line tracing technique. Such one or more distances may be receivedfrom a user as part of the user input, for example, input entered by auser on a GUI.

FIG. 23 is an example of a control panel 2300 of a GUI through which auser can define one or more distances relative to a UES and/or an LES.The control panel 2300 may include distance entry boxes 2304 andrelative anatomical landmark check boxes 2302. Thus, using the controlpanel 2300, a user may define one or more distances relative to UES oran LES by checking an anatomical landmark reference in one of checkboxes 2302 and entering a distance in one of boxes 2304. In the exampleof FIG. 23, the user has entered instructions to display values detectedat sensors located: two cm above UES, at UES, five cm below UES,thirteen cm above LES, eight cm above LES, three cm above LES, at LESand five cm below LES for a total of eight sensors.

FIG. 24 illustrates an example of a display 2400 including a temporalplot visually indicating value using a line tracing technique and aprofile plot 2404 visually indicating values using a line tracingtechnique. Display 2400 may be generated by a plurality of thecomponents of visualization component 106, as will be described in moredetail below.

Display 2400 may result from the user inputs illustrated in controlpanel 2300. UES location identifier 2409 indicates that the UES islocated at the location of sensor “7.” LES location identifier 2407indicates that the LES is located at the location of sensor “30.”Accordingly, as indicated by sensor identifiers 2406, values detected atsensors “5”, “7”, “12”, “17”, “22”, “27”, “30” and “35” (two cm aboveUES, at UES, five cm below UES, thirteen cm above LES, eight cm aboveLES, three cm above LES, at LES, and one cm below LES, respectively) arevisually indicated on temporal plot 2402.

Further, the location along the upper GI tract at which the sensors forwhich values are being visually indicated are indicated by displayedsensor indicators 2408 and 2410 on profile plot 2404. In an embodiment,as illustrated in FIG. 24, the displayed sensor indicators 2408 forsensors selected due to their distance relative to the UES may bevisually indicated with a first symbol (e.g., a diamond) and sensorindicators 2410 for sensors selected due to their distances relative tothe LES may be visually indicating using a second symbol (e.g., anarrow). The different symbols used to visually indicate displayed sensorindicators 2408 and displayed sensor indicators 2410 indicate to a useran association with a respective landmark.

In an aspect of the invention, landmark referencing components 634 ofvisualization component 1036 may be configured to visually indicatevalues detected by a subset of sensors on a temporal plot based on oneor distances to find relative to one or more anatomical landmarks, forexample, as described above in relation to FIGS. 22-24. The landmarkreferencing component 634 may be configured with an input to receiveuser input, for example, user input 604, that defines one or moredistances relative to one or more anatomical landmarks, and may beconfigured to determine the sensors located at the one or more receiveddistances and to output instructions to one or more other components tovisually indicate the values detected by the determined sensors on thetemporal plot. A landmark referencing component 634 may be configured tooutput the instructions to visually indicate the values to any of thelogical components of visualization component 106, for example, temporalcomponent 608, profile plot component 610, landmark identificationcomponent 622, frame display controller 612, or any of the other logicalcomponents of visualization component 106. Landmark referencingcomponent 634 may be configured to control the visual indication ofcontrol panel 2300.

As described above, when detected values are visually indicated on atemporal plot and a profile plot concurrently, the values visuallyindicated on the profile plot typically are from a temporal interval forwhich values are displayed on the temporal plot at a location closest toa temporal origin of the temporal plot (e.g., a column of pixels closestto the origin of the temporal axis). It may be desirable, however, to beable to display values on the profile plot corresponding to a temporalinterval selected by a user.

Accordingly, in an embodiment of visually indicating detected values toa user on a temporal plot and a profile plot, concurrently, a user maybe enabled to select a specific temporal interval on the temporal plotto be displayed on the profile plot.

FIG. 25 is an example of a display 2600, for example, included as partof a GUI, including a temporal plot 2602 and a profile plot 2604 onwhich detected values are visually indicated to a user. Display 2600 maybe generated by logical components of visualization component 106, aswill be described in more detail below.

A user may be enabled to click at a specific temporal position along thetemporal axis 205 of the temporal plot 2602, in response to which theprofile plot 2604 visually indicates values detected during the temporalinterval corresponding to the temporal position on the profile plot2604.

The temporal plot may indicate the spatial position selected by the userwith a vertical line, for example, temporal interval indicator 2606. Asdescribed above with respect to FIG. 8, values visually indicated on atemporal plot may first be displayed on at or near the origin 2608 ofthe temporal axis 2605 and may move from right to left over time.

In response to the user selecting a temporal position along the temporalaxis 2605, in addition to displaying the temporal position indicator2606, the profile plot 2604 may visually indicate the values detectedduring the temporal interval corresponding to the selected temporalposition. The profile plot 2604 may continue to display the valuesdetected during the selected temporal interval corresponding to thetemporal position, as opposed to being updated with new temporalintervals at the refresh rate of display 2600, until a user indicatesthat the values corresponding to the temporal position are no longer tobe displayed. For example, the user could click on the temporal positionindicator 2606. In response to the user de-selecting the spatialposition, the profile plot 2604 may return to displaying the valuecorresponding to the temporal interval nearest the origin 2608 of thetemporal plot 2602, which changes over time. A GUI including display2600 may be configured to enable a user to select and de-select aspatial position for which to visually indicate values using any of avariety of other techniques.

In an aspect of the invention, temporal interval selection component 626may be configured to enable a user to select a specific temporalinterval on a temporal plot and to enable the visual indication of thevalues detected during the selected temporal interval on the profileplot, for example, as described above in relation to FIG. 25. Thetemporal interval selection component 626 may receive user inputsspecifying a selected interval, and send instructions to one or morelogical components of visualization component 106 to display a verticalline corresponding to the selected interval and to visually indicate thevalues detected during the temporal interval on a profile plot. Forexample, the temporal interval selection component may send such outputsto the temporal plot component 608, the profile plot component 610, theframe display controller 612 or any of the other logical components ofthe visualization component 106.

In an embodiment of visually indicating values detected over a period oftime, the detected values may be visually indicated on a first temporalplot and a second temporal plot concurrently. For example, a firsttemporal plot may display values using the first technique (e.g., acontour technique, a line tracing technique or a mesh plot technique)and the second temporal plot may display the same values using adifferent technique. Optionally, one of the temporal plots may be scaleddown such that it can be superimposed on the other temporal plot.

FIG. 26 is an example of a display 2700 including a first temporal plot2702 visually indicating values detected over a period of time using aline tracing technique, and a second temporal plot 2704 visuallyindicating values detected over the period of time using a contourtechnique. Display 2700 may be generated by components of visualizationcomponent 106, as will be described in more detail below.

As illustrated in FIG. 26, the second temporal plot 2704 has been scaleddown and superimposed on the first temporal plot 2702. Display 2700 maybe part of a GUI that includes a control, for example, control 2706 thatenables a user to turn off and turn on the concurrent visual indicationof two temporal plots.

Such concurrent visual indication of two temporal plots that each use adifferent technique for visually indicating values may be beneficialbecause each technique may convey different information to a user. Forexample, as described above, the line tracing technique may be superiorfor visually indicating precise values detected at a sensor over aperiod of time, whereas the contour technique may be superior forillustrating a finer spatial resolution of values detected over time toa user. It should be appreciated that although FIG. 26 shows a temporalplot using a contour technique 2704 scaled down and superimposed on atemporal plot using a line tracing technique 2702, this aspect of theinvention is not limited as such, as the scaled down, superimposed plot2704 and temporal plot 2702 may each visually indicate values using anyof a plurality of techniques.

In an aspect of the invention, the temporal plot component 608 ofvisualization 106, described above, may be configured to visuallyindicate values on two temporal plots concurrently, for example, usingany of the techniques described above. In another aspect of theinvention, annotations may be added to a temporal plot. For example,annotations may indicate when a significant value, for example, thelocation of an anatomical landmark along a dimension of an organism, haschanged further. Other annotations may indicate an event for which thedetected values are detected, for example, a cough, breathing,swallowing food, swallowing a liquid. In fact, any information may beadded as an annotation to a temporal plot.

If annotating a temporal plot, it may be desirable to indicate atemporal interval to which an annotation applies. Accordingly, in anaspect of the invention, the temporal interval for which an annotationapplies is visually indicated on a temporal plot. A GUI on which atemporal plot may be displayed may provide a user controls to select orinput an annotation to be added to a temporal plot and may enable a userto select the temporal interval to which the annotation is to beapplied.

For example, referring to FIG. 26, temporal plot 2702 may include anannotation 2710, an annotation interval indicator 2708 and one or moreannotation components 2712. Thus, annotation 2710 may indicate to a useran annotation for temporal interval corresponding to the temporalposition along the temporal axis indicated by annotation interval 2708.Each of the one or more annotation controls may enable a user to specifya different type of annotation. One or more types of these annotationsmay be predefined and one or more of these annotations may allow a userto customize an annotation to be added to temporal plot 2702.

In an aspect of the invention, the annotation component 624 of thevisualization 106 may control a visual indication of annotations on atemporal plot. For example, the annotation component may receive userinput, for example, user input 604 input from one or more othercomponents of the visualization component 106, from which the annotationcomponent may determine an annotation to be displayed on a temporal plotand the temporal position along the temporal axis of the temporal plotat which to display the annotation. For example, the annotationcomponent may receive input from the landmark location determinationcomponent 632 that indicates that the automatically determined locationof an anatomical landmark has changed. Further the anatomical componentmay receive a user input indicating the location of an anatomicallandmark. In response to receiving such output from component 632,annotation component 624 may determine the temporal interval for whichto display the changed value of the anatomical landmark location and thenew value for the anatomical landmark location. The annotation component624 may output annotations and locations of annotations to the temporalplot 608 and/or the framed display control 612.

When detecting values over a period of time using sensors along adimension of an organism, it may occur that one or more of the sensorsfail to detect a value during one or more temporal intervals, forexample, because one or more sensors malfunctions. Accordingly, it maybe desirable to interpolate values for such sensors based on valuesdetected by the remaining sensors during a temporal interval.

FIG. 27 is a flow chart illustrating an example of a method 2800 forinterpolating values for one or more sensors for which no values aredetected during a temporal interval. In Act 2802, for a next (e.g., afirst) temporal interval, the values detected by a plurality of sensorsof an array of sensors during a temporal interval may be received.

In Act 2804, it may be determined that no value is detected by one ormore of the sensors of the array of sensors during the temporalinterval. Accordingly, in Act 2806, values may be interpolated for theone or more sensors for the temporal interval based on the valuesdetected by the plurality of sensors during the temporal interval. Forexample, a linear interpolation based on two sensors adjacent to thesensor for which no value was detected may be performed. Alternatively,a non-linear interpolation may be performed, for example, a cubic splineinterpolation, based on the plurality of sensors for which values weredetected. In an aspect, two or more consecutive sensors may not havedetected values. In this case, cubic spline interpolation may be used ora weighted linear interpolation may be applied, in which the determinedvalue for a sensor for which no values were detected is determined basedon the two nearest sensors for which values were detected, where foreach nearest sensor, its value is weighted depending on its proximity tothe sensor for which the value is not detected.

In Act 2808, other processing for the temporal interval may be performedusing the detected values and the interpolated values as if theinterpolated values were actually detected values. Any of the processingdescribed herein as being performed on detected values also may use theinterpolated values as if they were detected values. For example, theprocessing performed to visually indicate values on a temporal plot orprofile plot may use the interpolated values as if they were actuallydetected values. Further, the determination of the location of one ormore anatomical landmarks may use the interpolated values as if theywere actually detected values.

In the next Act 2810, it may be determined whether there is a nexttemporal interval. If there is not a next temporal interval, then method2800 ends, else the method returns to Act 2802.

In an aspect of the invention, values may be interpolated for sensorsfor which no values were detected by the virtual sensor interpolator 620illustrated above in FIG. 6. The virtual sensor interpolator 620 may beconfigured to implement method 2800. Virtual sensor interpolator 620 maybe configured to receive values detected during a temporal interval(e.g., detected value 602, and output values interpolated for sensorsfor which no values were detected (i.e., virtual sensor values). Thevirtual sensor interpolator 620 may be configured to send the virtualsensor values to any of a variety of the other logical components ofvisualization component 106. For example, the virtual sensorinterpolator 620 may provide virtual sensor values and detected valuesto temporal plot component 608 and profile plot component 610 so thatthese components may visually indicate that the detected values andvirtual sensor values, alternatively, or in addition to, the virtualsensor 620 may provide the detected values and virtual sensor values tospatial resolution interpolator 616, which then may process these valuesand produce additional interpolator values to be passed to temporalcomponent 608 and profile plot component 610, as will be described inmore detail below. It should be appreciated that the virtual sensorinterpolator 620 can provide values to any of the components ofvisualization component 106 as is described herein.

In addition to interpolating values for sensors for which no values weredetected, values may be interpolated for locations between sensors toincrease the spatial resolution of values visually indicated on atemporal plot and/or a profile plot. This interpolation may be appliedto values detected during each temporal interval and used to display thevalues on the temporal plot using any non-line tracing technique, forexample, using a contour technique, and may be displayed on a profileplot using any of a variety of non-histogram techniques, for example, acontour technique or a line tracing technique. By interpolating valuesat locations between locations at which values were detected, thespatial resolution of visually indicated values may be increased to thepoint where a user perceives the spatial resolution of the data along aspatial axis of a plot as being continuous. It should be appreciatedthat values interpolated for one or more sensors for which no valueswere detected may themselves be used to interpolate values for locationsbetween locations of sensors. Consider an example where sensor A islocated at one cm, sensor B is located at two cm and sensor C is locatedat three cm along a dimension of an organism. If sensors A and C detectvalues but sensor B does not, a value for sensor B may be interpolatedfrom the value detected by sensors A and C and possibly other sensors.Next, values for locations between other sensors, including betweensensors A and B and B and C may be interpolated based at least in parton the interpolated value for sensor B.

In another aspect of the invention, spatial resolution interpolator 616of visualization component 106 may interpolate values for locationsbetween sensors (including virtual sensors that may be determined byvirtual sensor interpolator 620), for example, as described above. Thespatial resolution interpolator 616 may receive detected values 602either directly or from virtual sensor interpolator 620 and may receivevirtual sensor values from virtual sensor interpolator 620. From thesevalues, the spatial resolution interpolator may determine interpolatedvalues for the locations between sensors and virtual sensors, forexample, as described above. The spatial resolution interpolator 616 maybe configured to output such interpolated values to the temporal plotcomponent 608, the profile plot component 610, the frame displaycontroller 612, or any of the other logical components of visualizationcomponent 106.

In another aspect of visually indicating values detected over a periodof time by a plurality of sensors, the values detected by each sensormay be normalized by (e.g., changed by comparison to) another value.This value by which other values are normalized may be referred to asthe “normalizing value.” The normalizing value may be a predeterminedvalue, a value input by a user, a value detected by a sensor during aparticular temporal interval, an average value detected by a sensor overa period of time, or any of a variety of other values.

A user may be enabled to select a sensor (“the baseline sensor”) fromwhich to determine the normalizing value (e.g., a value detected duringa particular temporal interval by the baseline sensor or an averagevalue detected over a plurality of intervals by the baseline sensor).For example, if the visually indicated values are visually indicated ona GUI, the GUI may enable the user to select a sensor, by example, bytyping in the number of the sensor, or a location of the displayedsensor, or by clicking on a sensor identifier or sensor locationindicator visually indicated on a temporal plot or profile plot. Inresponse to the selection, the normalizing value may be determined. Thevalues detected by the sensors and values interpolated for the remainingsensors then may be reduced by the normalizing value, and visuallyindicated to the user, for example, on a temporal plot and/or a profileplot using any of a variety of techniques, including those techniquesdescribed herein.

The identity of the baseline sensor and/or the identity of the valuesdetected by the baseline sensor may be visually indicated to the user sothat the user knows which of the plurality of sensors is the baselinesensor. Such identity may be visually indicated using any of a varietyof techniques, for example, by highlighting an identifier and/orlocation indicator of the baseline sensor and/or the visual indicationsof the visual indication of the values detected by the baseline sensorwith a predefined tone, or by visually indicating a pointer of othericon. Such indication may assist the user in de-selecting the baselinesensor, for example, by clicking on an identifier or location indicatorof the normalized sensor.

FIG. 28 is a block diagram illustrating an example embodiment of atemporal plot component 608 of visualization component 106. Temporalplot component may receive values 2802 and user input 2804 and outputtemporal plot information 206. Values 2802 may include values detectedby a plurality of sensors along a dimension of an organism (e.g., alonga length of an upper GI tract) during an interval of time, for example,detected values 602, and may include interpolated values. Interpolatedvalues may be values interpolated for a sensor for which no values weredetected during the temporal interval, for example, as may be output byvirtual sensor interpolator 620. Further, the interpolated values mayinclude values interpolated for locations along the first dimensionbetween locations at which values were detected, for example, valuesoutput by temporal interval selection component 626.

The user input may include any of a variety of the user input describedherein for configuring a temporal plot, and may include user input 604.The temporal plot information 2806 may be sent to frame displaycontroller 602, and may be used to configure a frame of displayinformation 606 to be displayed on a GUI, which may be first stored in aframe buffer 618.

The temporal plot component 608 may include a mode controller 2808 thatcontrols the technique to visually indicate values on the temporal plotcomponent 608. The mode controller may receive user input 2804 thatcontrols the technique to be used, and may be configured with a defaulttechnique to be used absent any user input. The contour map component2810 may receive the value 2802 and a control signal from modecontroller 2808. If the control signal indicates that the technique tobe used to visually indicate the values is the contour technique, thencontour map component 2810 may produce the temporal plot information2806 from the values 2802.

The line tracing map component 2814 may receive the value 2802 and acontrol signal from mode controller 2808. If the control signalindicates that the technique to be used to visually indicate the valuesis the line tracing technique, then line tracing map component 2814 mayproduce the temporal plot information 2806 from the values 2802.

The mesh plot map component 2812 may receive the value 2802 and acontrol signal from mode controller 2808. If the control signalindicates that the technique to be used to visually indicate the valuesis the mesh plot technique, then mesh plot map component 2812 mayproduce the temporal plot information 2806 from the values 2802.

The scaled window component 2816 may be configured to receive values2802 and user input 2804, and produce a scaled down version of atemporal plot to be superimposed on a larger temporal plot, as describedabove in relation to FIG. 26.

FIG. 29 is a block diagram illustrating an example embodiment of aprofile plot component 610 of visualization component 106. Profile plotcomponent may receive values 2902 and user input 2904 and output profileplot information 206. Values 2902 may include values detected by aplurality of sensors along a dimension of an organism (e.g., along alength of an upper GI tract) during an interval of time, for example,detected values 602 and may include interpolated values. Interpolatedvalues may be values interpolated for a sensor for which no values weredetected during the profile interval, for example, as may be output byvirtual sensor interpolator 620. Further, the interpolated values mayinclude values interpolated for locations along the first dimensionbetween locations at which values were detected, for example, valuesoutput by profile interval selection component 626.

The user input may include any of a variety of the user input describedherein for configuring a profile plot, and may include user input 604.The profile plot information 2906 may be sent to frame displaycontroller 602, and may be used to configure a frame 606 to be displayedon a GUI, which may be first stored in a frame buffer 618.

The profile plot component 608 may include a mode controller 2908 thatcontrols the technique to visually indicate values on the profile plotcomponent 608. The mode controller may receive user input 2904 thatcontrols the technique to be used, and may be configured with a defaulttechnique to be used absent any user input. The contour map component2910 may receive the value 2902 and a control signal from modecontroller 2908. If the control signal indicates that the technique tobe used to visually indicate the values is the contour technique, thencontour map component 2910 may produce the profile plot information 2906from the values 2902.

The line tracing map component 2912 may receive the value 2902 and acontrol signal from mode controller 2908. If the control signalindicates that the technique to be used to visually indicate the valuesis the line tracing technique, then line tracing map component 2912 mayproduce the profile plot information 2906 from the values 2902.

The histogram map component 2914 may receive the value 2902 and acontrol signal, from mode controller 2908. If the control signalindicates that the technique to be used to visually indicate the valuesis the histogram technique, then histogram map component 2914 mayproduce the profile plot information 2906 from the values 2902.

Aspects of the invention, including the methods described herein, actsthereof and various embodiments and variations of these methods andacts, individually or in combination, may be defined bycomputer-readable signals tangibly embodied on a computer-readablemedium, for example, a non-volatile recording medium, an integratedcircuit memory element, or a combination thereof. Such signals maydefine instructions, for example, as part of one or more programs, that,as a result of being executed by a computer, instruct the computer toperform one or more of the methods or acts described herein, and/orvarious embodiments, variations and combinations thereof. Suchinstructions may be written in any of a plurality of programminglanguages, for example, Java, Visual Basic, C, C#, or C++, Fortran,Pascal, Eiffel, Basic, COBAL, etc., or any of a variety of combinationsthereof. The computer-readable medium on which such instructions arestored may reside on one or more of the components of a system, and maybe distributed across one or more of such components.]

The computer-readable medium may be transportable such that theinstructions stored thereon can be loaded onto any computer systemresource to implement the aspects of the present invention discussedherein. In addition, it should be appreciated that the instructionsstored on the computer-readable medium, described above, are not limitedto instructions embodied as part of an application program running on ahost computer. Rather, the instructions may be embodied as any type ofcomputer code (e.g., software or microcode) that can be employed toprogram a processor to implement the above-discussed aspects of thepresent invention.

It should be appreciated that any single component or collection ofmultiple components of a computer system, for example, the computersystem described below in relation to FIGS. 30 and 31, that perform thefunctions described above with respect to describe or reference themethod can be generically considered as one or more controllers thatcontrol the above-discussed functions. The one or more controllers canbe implemented in numerous ways, such as with dedicated hardware, orusing a processor that is programmed using microcode or software toperform the functions recited above.

Various embodiments according to the invention may be implemented on oneor more computer systems. These computer systems, may be, for example,general-purpose computers such as those based on Intel PENTIUM-typeprocessor, Motorola PowerPC, Sun UltraSPARC, Hewlett-Packard PA-RISCprocessors, or any other type of processor. It should be appreciatedthat one or more of any type computer system may be used to implementany of the systems, system components, methods and acts described aboveand portions and variations thereof according to various embodiments ofthe invention. Further, the software design system may be located on asingle computer or may be distributed among a plurality of computersattached by a communications network.

A general-purpose computer system according to one embodiment of theinvention is configured to perform any of the methods, acts and portionsthereof described herein, including any of those described above asbeing performed by logical components of visualization component 106. Itshould be appreciated that the system may perform other functions andthe invention is not limited to having any particular function or set offunctions.

For example, various aspects of the invention may be implemented asspecialized software executing in a general-purpose computer system 3000such as that shown in FIG. 30. The computer system 3000 may include aprocessor 3003 connected to one or more memory devices 3004, such as adisk drive, memory, or other device for storing data. Memory 3004 istypically used for storing programs and data during operation of thecomputer system 3000. Components of computer system 3000 may be coupledby an interconnection mechanism 3005, which may include one or morebusses (e.g., between components that are integrated within a samemachine) and/or a network (e.g., between components that reside onseparate discrete machines). The interconnection mechanism 3005 enablescommunications (e.g., data, instructions) to be exchanged between systemcomponents of system 3000. Computer system 3000 also includes one ormore input devices 3002, for example, a keyboard, mouse, trackball,microphone, touch screen, and one or more output devices 3001, forexample, a printing device, display screen, speaker. In addition,computer system 3000 may contain one or more interfaces (not shown) thatconnect computer system 3000 to a communication network (in addition oras an alternative to the interconnection mechanism 3005.

The storage system 3006, shown in greater detail in FIG. 31, typicallyincludes a computer readable and writeable nonvolatile recording medium3101 in which signals are stored that define a program to be executed bythe processor or information stored on or in the medium 3101 to beprocessed by the program. The medium may, for example, be a disk orflash memory. Typically, in operation, the processor causes data to beread from the nonvolatile recording medium 3101 into another memory 3102that allows for faster access to the information by the processor thandoes the medium 3101. This memory 3102 is typically a volatile, randomaccess memory such as a dynamic random access memory (DRAM) or staticmemory (SRAM). It may be located in storage system 3006, as shown, or inmemory system 3004, not shown. The processor 3003 generally manipulatesthe data within the integrated circuit memory 3004, 3102 and then copiesthe data to the medium 3101 after processing is completed. A variety ofmechanisms are known for managing data movement between the medium 3101and the integrated circuit memory element 3004, 3102, and the inventionis not limited thereto. The invention is not limited to a particularmemory system 3004 or storage system 3006.

The computer system may include specially-programmed, special-purposehardware, for example, an application-specific integrated circuit(ASIC). Aspects of the invention may be implemented in software,hardware or firmware, or any combination thereof. Further, such methods,acts, systems, system elements and components thereof may be implementedas part of the computer system described above or as an independentcomponent.

Although computer system 3000 is shown by way of example as one type ofcomputer system upon which various aspects of the invention may bepracticed, it should be appreciated that aspects of the invention arenot limited to being implemented on the computer system as shown in FIG.30. Various aspects of the invention may be practiced on one or morecomputers having a different architecture or components that that shownin FIG. 30.

Computer system 3000 may be a general-purpose computer system that isprogrammable using a high-level computer programming language. Computersystem 3000 may be also implemented using specially programmed, specialpurpose hardware. In computer system 3000, processor 3003 is typically acommercially available processor such as the well-known Pentium classprocessor available from the Intel Corporation. Many other processorsare available. Such a processor usually executes an operating systemwhich may be, for example, the Windows 95, Windows 98, Windows NT,Windows 2000 (Windows ME) or Windows XP operating systems available fromthe Microsoft Corporation, MAC OS System X available from AppleComputer, the Solaris Operating System available from Sun Microsystems,or UNIX available from various sources. Many other operating systems maybe used.

The processor and operating system together define a computer platformfor which application programs in high-level programming languages arewritten. It should be understood that the invention is not limited to aparticular computer system platform, processor, operating system, ornetwork. Also, it should be apparent to those skilled in the art thatthe present invention is not limited to a specific programming languageor computer system. Further, it should be appreciated that otherappropriate programming languages and other appropriate computer systemscould also be used.

One or more portions of the computer system may be distributed acrossone or more computer systems (not shown) coupled to a communicationsnetwork. These computer systems also may be general-purpose computersystems. For example, various aspects of the invention may bedistributed among one or more computer systems configured to provide aservice (e.g., servers) to one or more client computers, or to performan overall task as part of a distributed system. For example, variousaspects of the invention may be performed on a client-server system thatincludes components distributed among one or more server systems thatperform various functions according to various embodiments of theinvention. These components may be executable, intermediate (e.g., IL)or interpreted (e.g., Java) code which communicate over a communicationnetwork (e.g., the Internet) using a communication protocol (e.g.,TCP/IP).

It should be appreciated that the invention is not limited to executingon any particular system or group of systems. Also, it should beappreciated that the invention is not limited to any particulardistributed architecture, network, or communication protocol.

Various embodiments of the present invention may be programmed using anobject-oriented programming language, such as SmallTalk, Java, C++, Ada,or C# (C-Sharp). Other object-oriented programming languages may also beused. Alternatively, functional, scripting, and/or logical programminglanguages may be used. Various aspects of the invention may beimplemented in a non-programmed environment (e.g., documents created inHTML, XML or other format that, when viewed in a window of a browserprogram, render aspects of a graphical-user interface (GUI) or performother functions). Various aspects of the invention may be implemented asprogrammed or non-programmed elements, or any combination thereof.

Having now described some illustrative embodiments of the invention, itshould be apparent to those skilled in the art that the foregoing ismerely illustrative and not limiting, having been presented by way ofexample only. Numerous modifications and other illustrative embodimentsare within the scope of one of ordinary skill in the art and arecontemplated as falling within the scope of the invention. Inparticular, although many of the examples presented herein involvespecific combinations of method acts or system elements, it should beunderstood that those acts and those elements may be combined in otherways to accomplish the same objectives. Acts, elements and featuresdiscussed only in connection with one embodiment are not intended to beexcluded from a similar role in other embodiments. Further, for the oneor more means-plus-function limitations recited in the following claims,the means are not intended to be limited to the means disclosed hereinfor performing the recited function, but are intended to cover in scopeany means, known now or later developed, for performing the recitedfunction.

As used herein, “plurality” means two or more.

As used herein, a “set” of items may include one or more of such items.

As used herein, whether in the written description or the claims, theterms “comprising”, “including”, “carrying”, “having”, “containing”,“involving”, and the like are to be understood to be open-ended, i.e.,to mean including but not limited to. Only the transitional phrases“consisting of and “consisting essentially of”, respectively, shall beclosed or semi-closed transitional phrases, as set forth, with respectto claims, in the United States Patent Office Manual of Patent ExaminingProcedures (Original Eighth Edition, August 2001), Section 2111.03

Use of ordinal terms such as “first”, “second”, “third”, etc., in theclaims to modify claim element does not by itself connote any priority,precedence, or order of one claim element over another or the temporalorder in which acts of a method are performed, but are used merely aslabels to distinguish one claim element having a certain name fromanother element having a same name (but for use of the ordinal term) todistinguish the claim elements.

What is claimed is: 1-43. (canceled)
 44. A system comprising: a dataprocessing device adapted to: obtain data representing pressure at aplurality of locations along the length of an organism; render in agraphical user interface a plot depicting at least a portion of thepressure data, the plot comprising a spatial axis; receive user inputidentifying a location along the spatial axis corresponding to astructural feature of the organism; and based on the user input, displaythe plot in the graphical user interface with a visual indicator of thestructural feature positioned relative to the spatial axis of the plotbased on the identified location of the structural feature, the visualindicator being displayed to indicate a positional relationship betweenthe structural feature and the data.
 45. The system of claim 44,wherein: the visual indicator comprises a user manipulable control; andthe data processing device is adapted to receive the user input throughthe graphical user interface via manipulation of the control.
 46. Thesystem of claim 45, wherein the user manipulable control is movable bythe user along the spatial axis.
 47. The system of claim 44, wherein thevisual indicator comprises a marker.
 48. The system of claim 47, whereinthe structural feature comprises a sphincter and the marker comprises auser manipulable control movable by the user along the spatial axis toindicate the position of the sphincter.
 49. The system of claim 48,wherein the marker comprises a landmark location identifier having alabel identifying the structural feature.
 50. The system of claim 48,wherein the marker extends across at least a portion of the plot. 51.The system of claim 50, wherein the marker comprises a line extendingover the plot along a temporal dimension.
 52. The system of claim 44,wherein the visual indicator comprises an anatomical image representingthe structural feature.
 53. The system of claim 52, wherein theanatomical image comprises an image representing a gastrointestinaltract and the structural feature comprises a sphincter.
 54. The systemof claim 53, wherein the structural feature comprises a sphincter, andthe image comprises a representation of the sphincter aligned with thespatial axis of the plot based on the identified location of thestructural feature.
 55. The system of claim 44, wherein the dataprocessing device is adapted to render the plot as a spatio-temporalplot depicting pressure contours.
 56. The system of claim 44, whereinthe visual indicator comprises a textual identification of thestructural feature.
 57. The system of claim 44, wherein the visualindicator comprises a numerical identification of the location of thestructural feature.
 58. The system of claim 44, wherein the dataprocessing device is further adapted to: render an annotation based onthe identified location of the structural feature to indicate theidentified location of the structural feature.
 59. The system of claim44, further comprising: a sensor component having an elongated axis, thesensor component comprising a plurality of sensors disposed in an arrayalong the elongated axis, wherein the data processing device is adaptedto receive the data representing pressure from the sensor component. 60.The system of claim 59, wherein the sensor component comprises acatheter.
 61. The system of claim 44, wherein the plot comprises aspatial-temporal plot.
 62. A system comprising: a catheter having anelongated axis, the catheter comprising a plurality of sensors disposedin an array along the elongated axis; a data processing device adaptedto: receive data representing the output of the plurality of sensorswhile the catheter is disposed in a bodily lumen; and identify from thedata a location along the length of the catheter of at least onestructural feature of the bodily lumen.
 63. The system of 62, whereinthe data processing device is adapted to identify the location of thestructural feature by identifying a location of maximum pressure over aportion of the axis during an interval of time.